Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 18, 2017 14:21:45

Wea7her
Зарегистрирован: 2017-11-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти в коде ошибку!

Всем привет!
—————-
Вот есть небольшая программа. Суть её работы: запускаем файл с кодом test.py через cmd, дальше высветится адрес сайта(в cmd). После этого мы должны вбить его в любом браузере например в телефоне. И по идее эта программка должна переключать слайды в Poiwerpoint.
——————————————————————————
КОД:

 #!/usr/bin/python
import sys
import os
import random
import socket
import BaseHTTPServer
import re
handler_class=BaseHTTPServer.BaseHTTPRequestHandler
token="/" + str(random.randint(0, sys.maxint)) + "/"
page = 1
validate = re.compile(token + "(prev|next)$")
def send_key(key):
  os.system("FvwmCommand 'All (VCLSalFrame) FakeKeypress press {}'".format(key))
class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
  def link(self,s,n):
    if n < 0 or n >= len(data):
      return " "
    return '<a href="{}{}">{}</a>'.format(token,s,s)
  def do_GET(self):
    cmd = validate.match(self.path)
    if cmd is None:
      self.send_response(404)
      self.send_header("Content-type", 'text/html')
      self.end_headers()
      self.wfile.write('<h1>OK</h1>')
      return
    global page
    if cmd.group(1) == 'prev' and page > 0:
      page = page - 1
      send_key('BackSpace')
    elif cmd.group(1) == 'next' and page < len(data)-1:
      page = page + 1
      send_key('space')
     
    self.send_response(200)
    self.send_header("Content-type", 'text/html; charset=utf-8')
    self.end_headers()
    self.wfile.write("""
{pagenum} - {next}
<hr> {data} <hr>
{prev} - {pagenum}
""".format(prev = self.link('prev', page - 1), pagenum = page + 1,
           next = self.link('next', page + 1), data = data[page]))
def read_file(s):
  with open(s) as f:
    return re.split('--- *\n?', f.read())
def ip():
  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  s.connect(('192.168.1.1', 0)) # fake, but nobody cares
  return s.getsockname()[0]
def make_url(port):
  url="http://{}:{}{}prev".format(ip(), port, token)
  print url
  os.system("firefox 'http://chart.apis.google.com/chart?cht=qr&chs=200x200&chl={}' &".format(url))
def run():
  for port in random.sample(xrange(8000, 9000),1000):
    try:
      httpd = BaseHTTPServer.HTTPServer(('',port), Handler)
      httpd.server_activate()
      make_url(port)
      httpd.serve_forever()
    except socket.error, e:
      if e.errno not in (98,):
        print e
        exit()
    except KeyboardInterrupt:
      print "\nExiting"
      exit()
run()

———————————-

Вот https://habrahabr.ru/post/132331/ ссылка на оригинальный пост с этим кодом. и принципом работы.

Офлайн

#2 Ноя. 18, 2017 14:44:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите найти в коде ошибку!

Wea7her
Я дико извиняюсь, но какой конкретно вопрос вы задаете?



Офлайн

#3 Ноя. 18, 2017 14:49:01

Wea7her
Зарегистрирован: 2017-11-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти в коде ошибку!

FishHook
Простите за неточность, я хочу что бы программка работала как у автора поста про эту программу
https://habrahabr.ru/post/132331/
Не могли бы помочь, а то я уже второй день не могу понять в чем проблема.

Офлайн

#4 Ноя. 18, 2017 15:01:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите найти в коде ошибку!

Wea7her
Я правда не понимаю проблемы. В статье по ссылке, есть вся программа целиком. Эта программа, если вы её скопируете будет работать точно так же как у автора. Это если вы умеете запускать программы на питоне. Если не умеете, то, разумеется, у вас ничего не получится. Статья на Хабре написана для специалистов, если вы им не являетесь, то вам надо учиться.



Офлайн

#5 Ноя. 18, 2017 15:43:03

Wea7her
Зарегистрирован: 2017-11-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите найти в коде ошибку!

FishHook
Спасибо за ответ, но у меня получается много ошибок которые я не могу устранить

Офлайн

#6 Ноя. 18, 2017 16:19:48

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите найти в коде ошибку!

Wea7her
Спасибо за ответ, но у меня получается много ошибок которые я не могу устранить
А вы, верно, думаете, что в этом мире есть люди способные устранить возникающую у вас ошибку, даже не видя её?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version