Exemplo n.º 1
0
    def __init_register_port(self, path, hostname):
        prefix = "/sdfs/redis/%s" % (hostname)

        if (os.path.exists(path + "/port")):
            self.port_idx = int(get_value(path + "/port"))
            self.port = str(self.config.redis_baseport + self.port_idx)
            return True

        idx = None
        for i in range(NODE_PORT):
            key = prefix + "/port/" + str(i)
            try:
                #dmsg("etcd write " + key)
                self.etcd.write(key, "", prevExist=False)
                idx = i
                break
            except etcd.EtcdAlreadyExist:
                continue

        if (idx == None):
            derror("no port space in " + prefix)
            return False
        else:
            dmsg("register port " + str(idx))
            set_value(path + "/port", str(idx))
            self.port_idx = idx
            self.port = str(self.config.redis_baseport + self.port_idx)
            return True
Exemplo n.º 2
0
    def init(self):
        path = self.workdir
        if (os.path.exists(path + "/inited")):
            derror("%s already inited" % (path))
            return False

        self.diskid = str(uuid.uuid1())
        set_value(path + "/inited", self.diskid)
        self.running = False
        return True
Exemplo n.º 3
0
    def __init_register_new(self, path, hostname, reg):
        if not self.__init_register_port(path, hostname):
            return False

        self.hostname = hostname
        addr = self.__redis_addr()

        if not self.__init_register_new__(reg[0], reg[1], addr):
            derror("register fail")
            return False

        dmsg("register %s %s " % (self.volume, str(reg)))
        set_value(path + "/id", str(reg))
        set_value(path + "/volume", self.volume)
        self.id = reg
        return True
Exemplo n.º 4
0
class Instence(object):
    def __init__(self, role, i, config=None):
        """
        初始化中,不能创建cds/idx 或 mond/idx 目录
        """
        self.config = config
        if self.config is None:
            self.config = Config()
        self.role = role
        self.service = int(i)
        self.cmd = None
        self.home = None
        if self.role == "mond":
            self.cmd = self.config.uss_mond
            self.home = os.path.join(self.config.home,
                                     "data/%s/%s" % (self.role, self.service))
            os.system("touch %s/fake" % (self.home))
        elif self.role == "cds":
            self.cmd = self.config.uss_cds
            self.home = os.path.join(self.config.home,
                                     "data/%s/%s" % (self.role, self.service))
        elif self.role == "nfs":
            os.system("mkdir -p %s/data/nfs/0" % (self.config.home))
            self.cmd = self.config.uss_ynfs
            self.home = os.path.join(self.config.home, "data/nfs/0")
        elif self.role == "ftp":
            os.system("mkdir -p %s/data/ftp/0" % (self.config.home))
            self.cmd = self.config.uss_ftp
            self.home = os.path.join(self.config.home, "data/ftp/0")
        elif self.role == "redis":
            os.system("mkdir -p %s/data/redis" % (self.config.home))
            self.cmd = None
            self.home = os.path.join(self.config.home,
                                     "data/%s/%s" % (self.role, self.service))

        #print [self.home, self.cmd, self.role]
        self.name = self.home
        self.disk_status = 0
        self.pid = -1
        self.ppid = -1
        self.deleting = False
        self.deleted = False
        self.skiped = False
        self.nomount = False
        self.nid = None
        try:
            self.nid = get_value(self.home + "/status/nid").strip()
        except Exception, e:
            pass

        try:
            tmp = self.home + '/check_' + str(random.random())
            set_value(tmp, "test")
            os.unlink(tmp)
        except Exception, e:
            derror(e)
            self.disk_status = errno.EIO
Exemplo n.º 5
0
def get_data(url):
    res = fetch(url)
    tmp = extract("//div[@class='directory-entry col-sm-4 col-md-3 col-lg-3']",
                  res,
                  multi=True)
    for a in tmp:
        name = extract("//*[@class='name']/b/text()",
                       html_source=str(etree.tostring(a)))
        email = extract("//*[@class='email']/text()",
                        html_source=str(etree.tostring(a)))
        web = extract("//a/@href", str(etree.tostring(a)))
        avtar = extract("//a/img/@src", str(etree.tostring(a)))
        organization = "University of North Carolina"
        major = "Department of Civil, Construction, and Environmental Engineering"
        print(set_value(name, email, web, organization, major, avtar))
Exemplo n.º 6
0
class Instence(object):
    def __init__(self, role, i, config=None):
        """
        初始化中,不能创建bactl/idx 或 mdctl/idx 目录
        """
        self.config = config
        if self.config is None:
            self.config = Config()
        self.role = role
        self.service = int(i)
        self.cmd = None
        self.home = None
        if self.role == "mdctl":
            self.cmd = self.config.uss_mdctl
            self.home = os.path.join(self.config.home, "data/%s" % (self.role))
        elif self.role == "bactl":
            self.cmd = self.config.uss_bactl
            self.home = os.path.join(self.config.home, "data/%s" % (self.role))
        elif self.role == "frctl":
            os.system("mkdir -p %s/data/frctl" % (self.config.home))
            self.cmd = self.config.uss_yfrctl
            self.home = os.path.join(self.config.home, "data/frctl")

        #print [self.home, self.cmd, self.role]
        self.name = self.home
        self.disk_status = 0
        self.pid = -1
        self.ppid = -1
        self.deleting = False
        self.deleted = False
        self.skiped = False
        self.nomount = False
        self.nid = None
        try:
            self.nid = get_value(self.home + "/status/nid").strip()
        except Exception, e:
            pass

        try:
            tmp = self.home + '/check_' + str(random.random())
            set_value(tmp, "test")
            os.unlink(tmp)
        except Exception, e:
            derror(e)
            self.disk_status = errno.EIO
Exemplo n.º 7
0
 def shortest_path(self, origin):
     heap = []
     shortest_path = []
     for i in range(0, self.network.size):
         if i == origin:
             shortest_path.append(0)
             heapq.heappush(heap, (i, 0))
         else:
             shortest_path.append(self.INF)
             heapq.heappush(heap, (i, self.INF))
     while len(heap) > 0:
         u, heap = utils.get_min(heap)
         for adjacent in self.network.adjacency[u[0]]:
             if utils.is_present(heap, adjacent):
                 self.num_transmissions[origin] += 1
                 if shortest_path[adjacent] > u[1] + 1:
                     shortest_path[adjacent] = u[1] + 1
                     heap = utils.set_value(adjacent, u[1] + 1, heap)
     return shortest_path
Exemplo n.º 8
0
def get_data(url):
    res = fetch(url)
    tmp = extract("//div[@class='person col-lg-5 col-xs-4']", res, multi=True)
    for a in tmp:
        name = extract("//*[@class='speaker']/a/text()",
                       html_source=str(etree.tostring(a))).replace(
                           'Dr.  ', '').replace('  ', '')
        email = extract(
            "//*[@class='info']//*[contains(text(), ' AT ')]/text()",
            html_source=str(etree.tostring(a)))
        if email is not None:
            email = email.replace(' AT ', '@')
        web = "https://www.csc.ncsu.edu" + extract("//a/@href",
                                                   str(etree.tostring(a)))
        organization = "University of North Carolina"
        major = "Department of Computer Science"
        avatar = "https://www.csc.ncsu.edu" + extract(
            "//*[@class='person_img']/@src", str(etree.tostring(a)))
        print(set_value(name, email, web, organization, major, avatar))
Exemplo n.º 9
0
def web1():
    html = fetch("https://www.cbe.ncsu.edu/directory/faculty/")
    main_class = extract("//div[@class='directory_entry']", html, True)
    for i in main_class[:]:
        name = extract("//p[@class='name']/b/text()", str(etree.tostring(i)))
        #print(name)
        website = extract("//div[@class='person_info']/a/@href",
                          str(etree.tostring(i)))
        #print(website )
        email = extract("//p[@class='email']/text()", str(etree.tostring(i)))
        #print(email)
        org = 'NC STATE UNIVERSITY'
        major = extract(
            "//*[@id='main-content']/div/div/div[2]/header/div/div/p/text()",
            html)
        avatar = extract("//img/@src", str(etree.tostring(i)))
        # print(major)
        # print(avatar)
        print(set_value(name, website, email, org, major, avatar))
Exemplo n.º 10
0
 def shortest_path(self, origin):
     heap = []
     shortest_path = []
     for i in range(0, self.network.size):
         if i == origin:
             shortest_path.append(0)
             heapq.heappush(heap, (i, 0))
         else:
             shortest_path.append(self.INF)
             heapq.heappush(heap, (i, self.INF))
     while len(heap) > 0:
         u, heap = utils.get_min(heap)
         for adjacent in self.network.adjacency[u[0]]:
             if utils.is_present(heap, adjacent):
                 self.num_transmissions[origin] += 1
                 if shortest_path[adjacent] > u[1] + 1:
                     shortest_path[adjacent] = u[1] + 1
                     heap = utils.set_value(adjacent, u[1] + 1, heap)
     return shortest_path
Exemplo n.º 11
0
 def level(self, value):
     set_value(self._level, value, self.signalchain)
Exemplo n.º 12
0
 def kbdpanmod(self, value):
     set_value(self._kbdpanmod, value, self.signalchain) 
Exemplo n.º 13
0
 def pitchbendrange(self, value):
     set_value(self._pitchbendrange, value, self.parent)
Exemplo n.º 14
0
 def releasetime(self, value): 
     set_value(self._releasetime, value, self.envelope)
     
     
Exemplo n.º 15
0
 def sustainlevel(self, value): 
     set_value(self._sustainlevel, value, self.envelope)    
Exemplo n.º 16
0
 def decaytime(self, value): 
     set_value(self._decaytime, value, self.envelope)
Exemplo n.º 17
0
 def speed(self, value): 
     set_value(self._speed, value, self.signalchain)
Exemplo n.º 18
0
 def pulsewidth(self, value):
     set_value(self._pulsewidth, value, self.signalchain)
Exemplo n.º 19
0
 def gatereset(self, value):
     set_value(self._gatereset, value, self.signalchain)
Exemplo n.º 20
0
 def synctoggle(self, value):
     set_value(self._synctoggle, value, self.signalchain)
Exemplo n.º 21
0
 def sync(self, value):
     set_value(self._sync, value, self.signalchain)
Exemplo n.º 22
0
 def waveshape(self, value):
     set_value(self._waveshape, value, self.signalchain)
Exemplo n.º 23
0
 def toggle(self, value):
     set_value(self._toggle, value, self.signalchain)
Exemplo n.º 24
0
 def attacktime(self, value): 
     set_value(self._attacktime, value, self.envelope)
Exemplo n.º 25
0
 def phase(self, value): 
     set_value(self._phase, value, self.signalchain)  
Exemplo n.º 26
0
 def ampmod(self, value): 
     set_value(self._ampmod, value, self.envelope)   
Exemplo n.º 27
0
 def delay(self, value): 
     set_value(self._delay, value, self.signalchain)  
Exemplo n.º 28
0
 def sustaintime(self, value): 
     set_value(self._sustaintime, value, self.envelope)
Exemplo n.º 29
0
 def fadein(self, value): 
     set_value(self._fadein, value, self.signalchain) 
Exemplo n.º 30
0
 def polyphony(self, value):
     set_value(self._polyphony, value, self.parent)
Exemplo n.º 31
0
 def lfopanmod(self, value):
     set_value(self._lfopanmod, value, self.signalchain) 
Exemplo n.º 32
0
 def volume(self, value):
     set_value(self._volume, value, self.parent)
Exemplo n.º 33
0
 def loop(self, value): 
     set_value(self._loop, value, self.envelope)
Exemplo n.º 34
0
 def freerun(self, value): 
     set_value(self._freerun, value, self.envelope) 
Exemplo n.º 35
0
 def legato(self, value): 
     set_value(self._legato, value, self.envelope)
Exemplo n.º 36
0
 def pan(self, value):
     set_value(self._pan, value, self.signalchain)
Exemplo n.º 37
0
 def attackmod(self, value): 
     set_value(self._attackmod, value, self.envelope)   
Exemplo n.º 38
0
 def exponentialslope(self, value): 
     set_value(self._exponentialslope, value, self.envelope) 
Exemplo n.º 39
0
 def envpanmod(self, value):
     set_value(self._envpanmod, value, self.signalchain)