teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

環境変数取得関数の一本化に伴う例文の消去

2020/07/21 02:38

投稿

member1234
member1234

スコア1

answer CHANGED
@@ -14,7 +14,7 @@
14
14
  def getenvfunction(envname):
15
15
  if os.getenv(envname)==None:
16
16
  print("環境変数から" + envname + "を取得できませんでした。※登録しておくと今後入力が無くて便利です。")
17
- result = input( envname + "を入力してください。例[https://xxxx.backlog.jp] >>>")
17
+ result = input( envname + "を入力してください。 >>>")
18
18
  else:
19
19
  result = os.getenv(envname)
20
20
  return result

1

環境変数取得関数の一本化

2020/07/21 02:38

投稿

member1234
member1234

スコア1

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  もっと良い書き方があるかもしれませんが、目的の機能を持つツールが出来ました。
2
2
  良い方法があればご教示いただけますでしょうか。
3
- ```
3
+ ```python
4
4
  import pathlib
5
5
  import os
6
6
  import requests
@@ -8,40 +8,35 @@
8
8
 
9
9
  #定義
10
10
  ListFile = pathlib.Path('.\BacklogTeamsList.txt') # 出力先ファイル
11
+ mdFile = pathlib.Path('.\BacklogTeamsList.md') # 出力先ファイル
11
12
 
12
- # 環境変数からBACKLOG_URLを取得、なければ入力を求め一時利用
13
+ # 環境変数取得、なければ入力を求め一時利用
13
- def getBACKLOG_URL():
14
+ def getenvfunction(envname):
14
- if os.getenv('BACKLOG_URL')==None:
15
+ if os.getenv(envname)==None:
15
- print('環境変数からBACKLOG_URL確認できませんでした。※登録しておくと今後入力が無くて便利です。')
16
+ print("環境変数から" + envname + "取得できませんでした。※登録しておくと今後入力が無くて便利です。")
16
- result = input("BACKLOG_URLを入力してください。例[https://xxxx.backlog.jp] >>>")
17
+ result = input( envname + "を入力してください。例[https://xxxx.backlog.jp] >>>")
17
18
  else:
18
- result = os.getenv('BACKLOG_URL')
19
+ result = os.getenv(envname)
19
20
  return result
20
21
 
21
- # 環境変数からBACKLOG_API_KEYを取得、なければ入力を求め一時利用
22
- def getBACKLOG_API_KEY():
23
- if os.getenv('BACKLOG_API_KEY')==None:
24
- print('環境変数からBACKLOG_API_KEYを確認できませんでした。※登録しておくと今後入力が無くて便利です。')
25
- result = input("BACKLOG_API_KEYを入力してください。>>>")
26
- else:
27
- result = os.getenv('BACKLOG_API_KEY')
28
- return result
29
-
30
22
  # Backlogチーム一覧作成処理
31
23
  def main():
32
24
  with ListFile.open(mode='w') as f:
25
+ with mdFile.open(mode='w',encoding="utf-8") as m:
33
- print("チーム名,メンバー,メールアドレス", file=f)
26
+ print("チーム名,メンバー,メールアドレス", file=f)
27
+ print("# OPRO Backlog チーム一覧\n| チーム名 | メンバー | メールアドレス |\n|--|--|--|", file=m)
34
- for n in range(0,1000,100):
28
+ for n in range(0,1000,100):
35
- r = requests.get(BACKLOG_URL + '/api/v2/teams', params={'apiKey': BACKLOG_API_KEY, 'count': '100', 'order': 'asc', 'offset': n})
29
+ r = requests.get(BACKLOG_URL + '/api/v2/teams', params={'apiKey': BACKLOG_API_KEY, 'count': '100', 'order': 'asc', 'offset': n})
36
- if r.status_code == requests.codes.ok:
30
+ if r.status_code == requests.codes.ok and r.text!="[]":
37
- data_json = json.loads(json.dumps(r.json(), ensure_ascii=False, indent=4))
31
+ data_json = json.loads(json.dumps(r.json(), ensure_ascii=False, indent=4))
38
- for data_json_key in data_json:
32
+ for data_json_key in data_json:
39
- for data_json_val in data_json_key["members"]:
33
+ for data_json_val in data_json_key["members"]:
40
- print(data_json_key["name"] + "," + data_json_val["name"] + "," + data_json_val["mailAddress"], file=f)
34
+ print(data_json_key["name"] + "," + data_json_val["name"] + "," + data_json_val["mailAddress"], file=f)
35
+ print("| "+data_json_key["name"] + " | " + data_json_val["name"] + " | " + data_json_val["mailAddress"]+" |", file=m)
41
36
 
42
37
  # メイン処理
43
38
  if __name__ == '__main__':
44
- BACKLOG_URL = getBACKLOG_URL()
39
+ BACKLOG_URL = getenvfunction("BACKLOG_URL")
45
- BACKLOG_API_KEY = getBACKLOG_API_KEY()
40
+ BACKLOG_API_KEY = getenvfunction("BACKLOG_API_KEY")
46
41
  main()
47
42
  ```