Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.44 KB | None | 0 0
  1. import os #フォルダの中身を探る
  2. import sys #プログラム強制終了用
  3. from wordpress_xmlrpc import Client, WordPressPost
  4. from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
  5. from wordpress_xmlrpc.methods.users import GetUserInfo
  6.  
  7. #スニペット中のendを入力するまで繰り返し書かせる子プログラムの定義
  8. def write_roop():
  9. i=1
  10. while True:
  11. text=input('%s:' % i)
  12. if text=='end':
  13. break
  14. else:
  15. f.write('%s\n' % text)
  16. i+=1
  17. continue
  18.  
  19. #ディレクトリ選択
  20. place=["Desktop","User"]
  21. print("-----------------------")
  22. for i in range(int(len(place))):
  23. print("%s:%s" % (i,place[i]))
  24. print("-----------------------")
  25. while True:
  26. select=input("どのディレクトリで作業しますか?:")
  27. if select=="0":
  28. directory="/Users/ユーザー名/Desktop"
  29. break
  30. elif select=="1":
  31. directory="/Users/ユーザー名"
  32. break
  33. else:
  34. continue
  35.  
  36. #どのアカウントを使用するか
  37. account=["アカウント1","アカウント2"]
  38. print("-----------------------")
  39. for i in range(int(len(account))):
  40. print("%s:%s" % (i,account[i]))
  41. print("-----------------------")
  42. while True:
  43. page=input("どのアカウントで投稿しますか?:")
  44. if page=="0":
  45. url="アカウント1のURL"
  46. username="アカウント1のユーザー名"
  47. password="アカウント1ののパスワード"
  48. break
  49. elif page=="1":
  50. url="アカウント2のURL"
  51. username="アカウント2のユーザー名"
  52. password="アカウント2ののパスワード"
  53. break
  54. else:
  55. continue
  56.  
  57. while True: #最後の編集を続ける選択をした場合のループ
  58. #書き始めを決定します
  59. while True:
  60. new=input('\n新規作成?(y/n):')
  61. #新規作成を選んだ場合、タイトルを新たに決めて、ファイルを作成します
  62. if new == "y":
  63. while True:
  64. title=input('タイトルを入力:')
  65. if title=="":
  66. print("タイトルが入力されていません。")
  67. else:
  68. break
  69. break
  70. #既存のファイルを開く場合、指定ディレクトリのフォルダからファイル一覧を出し、選択させます
  71. elif new== "n":
  72. files = os.listdir(directory)
  73. while True:
  74. for i in range(len(files)) : #フォルダ内のファイルリストを表示
  75. print("%s:%s" % (i,files[i]))
  76. #番号を入力させて、エラーが出なければbreakで次へ
  77. try:
  78. title=str(files[int(input("番号入力:"))]).replace(".txt","")
  79. f=open("%s/%s.txt" % (directory,title),"r",encoding="utf-8")
  80. print('''
  81. -----------------------
  82. ファイルの内容
  83. -----------------------
  84. ''')
  85. print(f.read())
  86. print('''
  87. -----------------------
  88. -----------------------
  89. ''')
  90. f.close()
  91. break
  92. #エラーが出れば(番号が違う、番号じゃないなど)ループさせる
  93. except:
  94. print("番号を入力してください")
  95. break
  96. #endと入力した場合、強制終了
  97. elif new=="end":
  98. sys.exit()
  99. #yでもnでもendでもない入力の場合、ループさせる。
  100. else:
  101. continue
  102. f=open("%s/%s.txt" % (directory,title),"a",encoding="utf-8")
  103.  
  104. #本文を繰り返し入力させる
  105. while True:
  106. content=input("文章を入力(or end):")
  107. #endと打てば本文入力終了
  108. if content=="end":
  109. break
  110.  
  111. #見出し1
  112. elif content=='#':
  113. f.write('<h1>%s</h1>\n' % input("<h1>"))
  114. print('</h1>')#視覚的な補助
  115.  
  116. #見出し2
  117. elif content=='##':
  118. f.write('<h2>%s</h2>\n' % input("<h2>"))
  119. print('</h2>')#視覚的な補助
  120.  
  121. #見出し3
  122. elif content=='###':
  123. f.write('<h3>%s</h3>\n' % input("<h3>"))
  124. print('</h3>')#視覚的な補助
  125.  
  126. #list
  127. #見出し3
  128. elif content=='li':
  129. f.write('<li>%s</li>\n' % input("<li>"))
  130. print('</>')#視覚的な補助
  131.  
  132. #pre
  133. elif content=='pre':
  134. f.write('<pre>')
  135. print('<pre>')#視覚的な補助
  136. write_roop()
  137. f.write('</pre>\n')
  138. print('</pre>')#視覚的な補助
  139.  
  140. #その他普通の文字列はそのまま書き込み
  141. else:
  142. f.write("%s\n" % content)
  143. #最後にファイルを閉じる
  144. f.close()
  145. print("保存しました。")
  146.  
  147. #ワードプレスに投稿するかどうか
  148. doupost=input('ワードプレスに投稿しますか?(y)')
  149. if doupost=='y':
  150. f=open("%s/%s.txt" % (directory,title),"r",encoding="utf-8")
  151. #カテゴリー設定
  152. category=[]
  153. while True:
  154. cat=str(input("カテゴリーを入力:"))
  155. if cat=="end":
  156. break
  157. category.append(cat)
  158. while True:
  159. dp=input('下書き(draft)か公開(publish)を選択してください。(d/p)')
  160. if dp=='p':
  161. p_status='publish'
  162. break
  163. elif dp=='d':
  164. p_status='draft'
  165. break
  166. else:
  167. continue
  168. print('投稿しています...Wait for a second...')
  169.  
  170. wp = Client('%s/xmlrpc.php' % url, username, password)
  171. post = WordPressPost()
  172. post.title = title
  173. post.content = f.read()
  174. post.terms_names = {'post_tag': [],'category': category}
  175. post.status=p_status
  176. wp.call(NewPost(post))
  177.  
  178. f.close()
  179. print('投稿が完了しました。')
  180. else:
  181. print('投稿をやめました。')
  182.  
  183. #最後に、編集を続けるかどうかの条件。yで、最初に戻り、新規作成と既存のファイルの編集が出来る。
  184. while True:
  185. conti=input("編集を続けますか?(y/n)")
  186. if conti=="y":
  187. break
  188. elif conti=="n":
  189. print("作業を終了します。")
  190. sys.exit()
  191. else:
  192. print("入力してください")
  193. continue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement