def add_template(model, tmpl): global server_started # Delay starting the server until we have at least one thing to host in it if not server_started: _start_server() server_started = True ss_tmpl = df.get_ss_tmpl(model) # In case the user deleted it while the SuperStyler window is open if ss_tmpl is None: return # Load the javascript we will inject into each template scriptPath = os.path.join(os.path.dirname(__file__), 'script.js') script = open(scriptPath, 'r').read() # Update the javascript with the full address to this template url = "%s:%s/%s" % (str(utils.get_lan_ip()), port, model['id']) script = script.replace('##AddressGoesHere##', url) ss_tmpl['qfmt'] = script + tmpl['qfmt'] ss_tmpl['afmt'] = script + tmpl['afmt'] mw.col.models.save(model, True) mid = int(model['id']) hosted_tmpls[mid] = HostedTmpl(model, tmpl, ss_tmpl)
def main(): args = args_handler("sf") global httpd global filename global is_shutdown global alive PORT = 8410 ALIVE_TIME = 30 if args.alive: alive = args.alive ALIVE_TIME = 1200 if args.port: PORT = args.port while check_port_in_use(PORT): PORT = PORT + 1 filename = "" if args.filename: filename = args.filename ip = get_lan_ip() address = ip + ":" + str(PORT) + "/" + filename print "http://" + address z = zlib.compress(address) result = base64.b64encode(z) print result cmd = 'echo "%s" | pbcopy ' % result if sys.platform == "darwin": os.system(cmd) Handler = MyHandler httpd = MyTCPServer(("", PORT), Handler) print "serving at port", PORT thread.start_new_thread(httpd.serve_forever, ()) try: for x in xrange(1, ALIVE_TIME): if is_shutdown: exit() time.sleep(1) except (KeyboardInterrupt, SystemExit): print "exit" exit()
def set_ip(self, port: str): url = 'http://{}:{}' self.lan_ip.set(url.format(utils.get_lan_ip(), port)) self.wan_ip.set(url.format(utils.get_wan_ip(), port))
from threading import Thread,Event,Timer from time import sleep import sys import socket import argparse import logging # by kzl from settings import mylogger,NOT_EXIST,ACCESS_DENIED,ALREADY_EXIST,SUCCESS,PORT,SHARED_FOLDER,SERVER_START_TIME,SECRET_LENGTH,IPS_FILE,URL_PREFIX,UPDATE_INTERVAL from utils import random_string,get_lan_ip,geturl from p2p_server import Node from threads import UpdateGUIListTimer # gui from PyQt4 import QtGui,QtCore from settings import WIN_WIDTH,WIN_HEIGHT,ICON_APP,ICON_FETCH,ICON_QUIT IP_LAN = get_lan_ip() SERVER_URL = geturl(URL_PREFIX,IP_LAN,PORT) class NodeServerThread(Thread): """ thread for starting and stopping node server """ def __init__(self,name,url,dirname,secret,ipsfile,event_running): mylogger.info('[__init__]: {0}'.format(name)) super(NodeServerThread,self).__init__() self.name = name self.daemon = True self.url = url self.dirname = dirname self.secret = secret self.ipsfile = ipsfile