Advertisement
Guest User

Untitled

a guest
Oct 17th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
  4. import SocketServer
  5. import json
  6. import urllib2, base64
  7. import sys
  8. reload(sys)
  9. sys.setdefaultencoding('utf8')
  10.  
  11. def repolist():
  12. #gitea bot user
  13. username = "admin3"
  14. password = "admin3"
  15.  
  16. request = urllib2.Request("http://localhost:3000/api/v1/user/repos")
  17. base64string = base64.b64encode('%s:%s' % (username, password))
  18. request.add_header("Authorization", "Basic %s" % base64string)
  19.  
  20. pagerepolist = ""
  21.  
  22. data = json.load(urllib2.urlopen(request))
  23. for v in data:
  24. #print(v['name'], v['description'], v['html_url'])
  25. pagerepolist += "<input type=\"checkbox\" \
  26. onClick=\"addText('Репозиторий: "+v['html_url']+"\\nОписание: "+v['description']+ \
  27. "\\nВладелец ресурса: "+v['owner']['full_name']+"\\nEmail владельца: "+v['owner']['email']+"\\n\\n"+"',this.checked)\" \
  28. name=\"repos\" value=\""+v['name']+"\">Репозиторий: "+v['name']+"<br>Описание: "+v['description']+"<hr>"
  29.  
  30.  
  31. pageheader = '''
  32. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
  33. <head>
  34. <title>Пример простого модального окна на jQuery</title>
  35. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  36. </head>
  37. <body>
  38. <h1>Заголовок ХЭ1</h1>
  39. <form name="contact" method="post">
  40. '''
  41.  
  42.  
  43. pagefooter = '''
  44. <label>Message</label><br>
  45. <textarea rows="10" cols="60" name="message" id="textar">
  46. Добрый день!
  47. Прошу предоставить доступ к следующим репозиториям:
  48.  
  49. </textarea><br>
  50. <input type="submit" name="send" value="Send Message" />
  51. </form>
  52. <script>
  53. var form = document.forms["contact"];
  54. form.addEventListener('submit',contact_submit,false);
  55.  
  56. function contact_submit(e) {
  57. // Stop Form From Submitting
  58. e.preventDefault();
  59.  
  60. // Set Initial Variables
  61. var target = e.target || e.srcElement;
  62. var to = 'someone@example.com';
  63. var uri = 'mailto:' + to;
  64. var body = '';
  65.  
  66. // Set Form Values to Variables
  67. var subject = '[tkzpmgit] Request for access';
  68. var message = target.elements['message'].value;
  69.  
  70. // Build Body / Message with all Input Fields
  71. body += message + "\\r\\n";
  72.  
  73. // Build final Mailto URI
  74. uri += '?subject=' + encodeURIComponent(subject);
  75. uri += '&body=' + encodeURIComponent(body);
  76.  
  77. // Open Mailto in New Window / Tab
  78. window.open(uri,'_blank');
  79. }
  80.  
  81. function addText(text, checked) {
  82. if (checked == true) {
  83. document.getElementById("textar").value += text;
  84. } else {
  85. str = document.getElementById("textar").value;
  86. var n=str.replace(text,"");
  87. document.getElementById("textar").value=n;
  88. }
  89. }
  90. </script>
  91. </body>
  92. </html>
  93. '''
  94. page = pageheader+pagerepolist+pagefooter
  95. return page
  96.  
  97. class S(BaseHTTPRequestHandler):
  98. def _set_headers(self):
  99. self.send_response(200)
  100. self.send_header('Content-type', 'text/html')
  101. self.end_headers()
  102.  
  103. def do_GET(self):
  104. self._set_headers()
  105. self.wfile.write(repolist())
  106.  
  107. def do_HEAD(self):
  108. self._set_headers()
  109.  
  110. def do_POST(self):
  111. # Doesn't do anything with posted data
  112. self._set_headers()
  113. self.wfile.write(repolist())
  114.  
  115. def run(server_class=HTTPServer, handler_class=S, port=3001):
  116. server_address = ('', port)
  117. httpd = server_class(server_address, handler_class)
  118. print 'Starting httpd...'
  119. httpd.serve_forever()
  120.  
  121. if __name__ == "__main__":
  122. from sys import argv
  123.  
  124. if len(argv) == 2:
  125. run(port=int(argv[1]))
  126. else:
  127. run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement