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
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
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
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
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))
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
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
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))
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))
def level(self, value): set_value(self._level, value, self.signalchain)
def kbdpanmod(self, value): set_value(self._kbdpanmod, value, self.signalchain)
def pitchbendrange(self, value): set_value(self._pitchbendrange, value, self.parent)
def releasetime(self, value): set_value(self._releasetime, value, self.envelope)
def sustainlevel(self, value): set_value(self._sustainlevel, value, self.envelope)
def decaytime(self, value): set_value(self._decaytime, value, self.envelope)
def speed(self, value): set_value(self._speed, value, self.signalchain)
def pulsewidth(self, value): set_value(self._pulsewidth, value, self.signalchain)
def gatereset(self, value): set_value(self._gatereset, value, self.signalchain)
def synctoggle(self, value): set_value(self._synctoggle, value, self.signalchain)
def sync(self, value): set_value(self._sync, value, self.signalchain)
def waveshape(self, value): set_value(self._waveshape, value, self.signalchain)
def toggle(self, value): set_value(self._toggle, value, self.signalchain)
def attacktime(self, value): set_value(self._attacktime, value, self.envelope)
def phase(self, value): set_value(self._phase, value, self.signalchain)
def ampmod(self, value): set_value(self._ampmod, value, self.envelope)
def delay(self, value): set_value(self._delay, value, self.signalchain)
def sustaintime(self, value): set_value(self._sustaintime, value, self.envelope)
def fadein(self, value): set_value(self._fadein, value, self.signalchain)
def polyphony(self, value): set_value(self._polyphony, value, self.parent)
def lfopanmod(self, value): set_value(self._lfopanmod, value, self.signalchain)
def volume(self, value): set_value(self._volume, value, self.parent)
def loop(self, value): set_value(self._loop, value, self.envelope)
def freerun(self, value): set_value(self._freerun, value, self.envelope)
def legato(self, value): set_value(self._legato, value, self.envelope)
def pan(self, value): set_value(self._pan, value, self.signalchain)
def attackmod(self, value): set_value(self._attackmod, value, self.envelope)
def exponentialslope(self, value): set_value(self._exponentialslope, value, self.envelope)
def envpanmod(self, value): set_value(self._envpanmod, value, self.signalchain)