本文整理汇总了Python中queue.Queue.load方法的典型用法代码示例。如果您正苦于以下问题:Python Queue.load方法的具体用法?Python Queue.load怎么用?Python Queue.load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类queue.Queue
的用法示例。
在下文中一共展示了Queue.load方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Scheduler
# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import load [as 别名]
class Scheduler(Thread):
file_semaphore = Semaphore()
def __init__(self,controller,dispatch,error):
Thread.__init__(self)
self.policy = policy.get_policy()
self.controller = controller
self.do_dispatch = dispatch
self.error = error
self.queue = Queue()
self.queue.load()
self.lock = Lock()
self._quit = Event()
self.add_queue = SyncQueue(0)
self.num_run = 0
self.log = get_logger()
def job(self,id):
return self.queue.get(id)
def jobs(self):
return self.queue.get()
def save(self):
self.queue.save()
def add(self,item):
if self.lock.acquire(0):
self.queue.add(item)
self.lock.release()
else:
self.add_queue.put(item)
def add_url(self,url,referer=None):
try:
fd = urlopen(url,referer=referer)
meta = fd.read()
fullurl = fd.geturl()
fd.close()
save_torrent = 1
if fullurl.startswith('file://'):
torrent_file = urllib.unquote(url)
if torrent_file.startswith('file://'):
torrent_file = torrent_file[7:]
elif fullurl.startswith('file:/') and fullurl[8] == '|':
torrent_file = urllib.unquote(url)
torrent_file = torrent_file[7]+':'+torrent_file[9:]
if torrent_file.find('Temporary Internet Files') >= 0:
filename = os.path.split(url)[1]
torrent_file = os.path.join(self.policy(policy.TORRENT_PATH),
filename)
else:
filename = urllib.unquote(os.path.split(url)[1])
torrent_file = os.path.join(self.policy(policy.TORRENT_PATH),
filename)
torrent_path = os.path.dirname(torrent_file)
if not os.path.exists(torrent_path):
os.mkdir(torrent_path)
if save_torrent:
fd = open(torrent_file,'wb')
fd.write(meta)
fd.close()
#~ d = Download() #cbt
try: #cbt
rd = bdecode(meta) #cbt
if rd['cbt_user'] == self.policy(policy.CBT_LOGIN): #cbt
dest_path = rd['cbt_path'] #cbt
except: #cbt
dest_path = self.policy(policy.DEST_PATH) #cbt
self.add(QueueEntry(torrent_file, dest_path=dest_path)) #cbt
except Exception,why:
return str(why)
示例2: Agency
# 需要导入模块: from queue import Queue [as 别名]
# 或者: from queue.Queue import load [as 别名]
class Agency(object):
def __init__(self, name):
self.name = name
self.booked_phone = Queue()
self.booked_cash = Queue()
self.tickets = Queue()
self.sold = Queue()
self.load()
def open(self):
os.system("clear")
print blue("Welcome to %s" % green(self.name))
print blue("========================")
while True:
print red("How may I help you?")
print yellow("1. Buy a ticket\n"
" 2. Book a ticket by phone\n"
" 3. Book a ticket\n"
" 4. Cancel booking\n"
" 5. See how many money do you have\n"
" 6. Goodbye!\n")
option = raw_input(green("I want to: "))
if option == "1":
self.buy_ticket()
if option == "2":
self.book_ticket_by_phone()
if option == "3":
self.book_ticket()
if option == "4":
self.cancel_booking()
if option == "5":
self.money()
if option == "6":
break
def ticket(self, in_queue):
option = raw_input("Do you want a specific number?[Y/n]: ")
if option in ['Y', 'y', 'YE', 'ye', 'YES', 'yes']:
number = raw_input("Please insert a number: ")
if number not in self.booked_phone and number not in self.booked_cash:
number = self.tickets.find(number)
in_queue.push(number)
print "Your number is %s" % number[0]
else:
print "Number already taken"
return self.buy_ticket()
else:
number = self.tickets.pop()
self.booked_phone.push(number)
print "Your ticket is %s" % number[0]
def buy_ticket(self):
self.ticket(self.sold)
def book_ticket_by_phone(self):
self.ticket(self.booked_phone)
def book_ticket(self):
self.ticket(self.booked_cash)
def money(self):
# get total from sold
total = 0
for ticket in self.sold:
total += ticket[1]
# get total from booked_with_cash
for ticket in self.booked_cash:
total += ticket[1]
return total
def cancel_booking(self):
number = raw_input("Please enter the number: ")
if number in self.booked_phone:
self.booked_phone.find(number)
if number in self.booked_cash:
self.booked_cash.find(number)
print "Thank you"
def load(self):
with open("logs/now") as f:
content = json.load(f.read())
self.booked_phone.load(content['phone'])
self.booked_cash.load(content['cash'])
self.tickets.load(content['tickets'])