Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
- import SocketServer
- import json
- import urllib2, base64
- import sys
- reload(sys)
- sys.setdefaultencoding('utf8')
- def repolist():
- #gitea bot user
- username = "admin3"
- password = "admin3"
- request = urllib2.Request("http://localhost:3000/api/v1/user/repos")
- base64string = base64.b64encode('%s:%s' % (username, password))
- request.add_header("Authorization", "Basic %s" % base64string)
- pagerepolist = ""
- data = json.load(urllib2.urlopen(request))
- for v in data:
- #print(v['name'], v['description'], v['html_url'])
- pagerepolist += "<input type=\"checkbox\" \
- onClick=\"addText('Репозиторий: "+v['html_url']+"\\nОписание: "+v['description']+ \
- "\\nВладелец ресурса: "+v['owner']['full_name']+"\\nEmail владельца: "+v['owner']['email']+"\\n\\n"+"',this.checked)\" \
- name=\"repos\" value=\""+v['name']+"\">Репозиторий: "+v['name']+"<br>Описание: "+v['description']+"<hr>"
- pageheader = '''
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
- <head>
- <title>Пример простого модального окна на jQuery</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- </head>
- <body>
- <h1>Заголовок ХЭ1</h1>
- <form name="contact" method="post">
- '''
- pagefooter = '''
- <label>Message</label><br>
- <textarea rows="10" cols="60" name="message" id="textar">
- Добрый день!
- Прошу предоставить доступ к следующим репозиториям:
- </textarea><br>
- <input type="submit" name="send" value="Send Message" />
- </form>
- <script>
- var form = document.forms["contact"];
- form.addEventListener('submit',contact_submit,false);
- function contact_submit(e) {
- // Stop Form From Submitting
- e.preventDefault();
- // Set Initial Variables
- var target = e.target || e.srcElement;
- var to = 'someone@example.com';
- var uri = 'mailto:' + to;
- var body = '';
- // Set Form Values to Variables
- var subject = '[tkzpmgit] Request for access';
- var message = target.elements['message'].value;
- // Build Body / Message with all Input Fields
- body += message + "\\r\\n";
- // Build final Mailto URI
- uri += '?subject=' + encodeURIComponent(subject);
- uri += '&body=' + encodeURIComponent(body);
- // Open Mailto in New Window / Tab
- window.open(uri,'_blank');
- }
- function addText(text, checked) {
- if (checked == true) {
- document.getElementById("textar").value += text;
- } else {
- str = document.getElementById("textar").value;
- var n=str.replace(text,"");
- document.getElementById("textar").value=n;
- }
- }
- </script>
- </body>
- </html>
- '''
- page = pageheader+pagerepolist+pagefooter
- return page
- class S(BaseHTTPRequestHandler):
- def _set_headers(self):
- self.send_response(200)
- self.send_header('Content-type', 'text/html')
- self.end_headers()
- def do_GET(self):
- self._set_headers()
- self.wfile.write(repolist())
- def do_HEAD(self):
- self._set_headers()
- def do_POST(self):
- # Doesn't do anything with posted data
- self._set_headers()
- self.wfile.write(repolist())
- def run(server_class=HTTPServer, handler_class=S, port=3001):
- server_address = ('', port)
- httpd = server_class(server_address, handler_class)
- print 'Starting httpd...'
- httpd.serve_forever()
- if __name__ == "__main__":
- from sys import argv
- if len(argv) == 2:
- run(port=int(argv[1]))
- else:
- run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement