Example #1
0
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)
Example #2
0
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))
Example #4
0
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