実は今月から週に2回にインターンが増えました、たいがーです!
週一となると、行けない日があったり、前回までの内容を忘れてしまったりと、モヤモヤしていたので、そのあたり解決出来るようになればいいなと考えております。
前回の記事はこちらから!
https://www.wantedly.com/companies/serverworks/post_articles/162674
このブログを書いていると、社員さんにもう12回目?!と少し驚かれました。意外と書いていますよね。笑
さて、今日の振り返りです!
リンク設定にパスワード機能を追加する
前回の最後にリンクを知っている人のみがboxのフォルダの中身を見ることができるようになりましたが、今回はさらにパスワードを設定していきます!
パスワードはその日の日時を含んだもので設定しており、Pythonで日時を取ってくるため
datetime.date.today()
という日付型を使いました。似たようなものに
datetime.datetime.now()
というものがあり、非常に混乱しました・・・まったくの別物だそうです。
https://docs.python.org/ja/3.6/library/datetime.html#available-types
日時を取ってくることができたということで、password情報を変更していきます。
dt = datetime.date.today()
dt = dt.strftime('%Y-%m-%d')
date = dt.split("-")
month = date[1]
day = date[2]
password = "XXXXX" + month + day
以前、課題で出てきた文字列がこのようなところでも出てきました。やはり基礎がしっかりしていないとあとで詰まるなぁと実感しています。前回使ったget_shared_linkにパスワード設定を加えていきます。
shared_link_url = uploaded_file.get_shared_link(access="open", password=password)
こうすることで、ページを開いた際にパスワードを要求できるようになりました。
この課題で一点、別の指摘をいただいていました。それは変数名です。
とりあえず、思い付きでつけていたということもあり、
month = days[1]
という表記にしていました。「なんとなく違和感がします。」と指摘をいただいたので、daysをdateに変えました。
そのあと別の社員さんから
「読む時にわかりやすい名前にする」という視点は実務でも活かせる重要なポイントですので、考え方そのものは身につけていけるとよいなと思います。 👍
と、コメントをいただきました。いろいろな方が見てくださるので、だれが見てもわかりやすいコードをかくことは今から意識していきたいです。
共有リンクの有効期限を設定する
共通リンクの有効期限を設定することで、自動的にその設定期限でリンクが切れるように設定します。ハンズオン終了後、毎回自動で切れるようにするためです。
こちらも共通リンクの設定なので、shared_link_urlの中身を変更していきます。ここからは前回の応用で
unshared_day = os.getenv("unshared_day")
とし、envファイルで別に
unshared_day=YYYY-MM-DD
と、日付を設定しておきます。そして、unshared_atという期限設定をしていきます。
shared_link_url = uploaded_file.get_shared_link(access="open", password=password, unshared_at=unshared_day)
こうすることで、リンクの有効期限を設定することができました!
が、ここで私はとあるミスをしていました。
Gitの操作をするうえで、このブランチにひとつ前の作業でのブランチにマージしたコミットが含まれていました。
まったく同じコミットが、別のブランチに一つずつある状態です。
ちょうどいいgitの勉強にもなると思うので、マージされていないコミットだけが残るようにしてみてください!git rebase
とかで調べてみるといいかも知れません!(もちろん他のやり方でも良いです!)
私も最近知ったコマンドなので恐縮ですが......😅
と指摘していただいたので、やってみました。
誤ってデータが入ってしまっているほうのブランチに移動します。
そのブランチで
git rebase master
と打ち込みプッシュすると、余分に入っていたコミットがきれいに削除されました!一つ打つだけでスッと消えたので、少し感動しました。
短縮URLを作成する
今回の作業は、ハンズオンの際にデータを格納するためのものです。
実際のハンズオンで、来ていただいた方にそのファイルの中身を使って、作業を進めていただきます。
なので、URLはより短いものであるほうがいいので、短縮していきます。
今回はbitlyという短縮URLサービスのAPIを使っていきます。
bitlyのアクセストークンは、ほかの環境変数同様、envファイルに格納しました。
url = 'https://api-ssl.bitly.com/v3/shorten'
access_token = bitly_TOKEN
query = {
'access_token': access_token,
'longurl': shared_link_url
}
response = requests.get(url,params=query).json()['data']['url']
print(response)
こうすることで、boxのリンクを短くしたものを出力することができました。
改行か空白が入っていたのか、なかなか500エラーから抜け出せず、大変でした…
こちらはまだマージされていないので、来週にまた修正を入れる必要があるかもしれません。少し緊張しています。一発で通ればいいなぁ・・・
こうすればこうなる、が少しずつ分かってきた
今までわからないことだらけだったので、どこかが詰まるたびに聞いていました。
最近では聞いている途中に解決方法がわかることも増えてきて、少しずつ自分もできるようになってきたかなぁ。そうならうれしいなぁ。なんて思いながら、作業を進めています。
ようやくGitも慣れてき始めたので、より便利なコマンド等を使いこなせるようになれたらなと考えています!
今回はここまでしたいと思っていたbitlyの機能がまさかの有料プランだったこともあり、ほかの手を考えていこうとなりました。もっと、やりやすい形に進めていけたらいいなぁ…
株式会社サーバーワークスでは一緒に働く仲間を募集しています