def run(): """ Parse command-line arguments and invoke room availability finder """ parser = argparse.ArgumentParser() parser.add_argument("-u", "--user", help="user name for exchange/outlook") parser.add_argument("-prefix", "--prefix", help="A prefix to search for. e.g. 'SJC19- SJC18-'", default='SJC19-2-') parser.add_argument("-start", "--starttime", help="Starttime e.g. 2014-07-02T11:00:00 (default = now)", default=common.time_now()) parser.add_argument("-duration", "--duration", help="Duration e.g. 1h or 15m (default = 1h)", default='1h') parser.add_argument("-f", "--file", help="csv filename with room info (default={}).".format(common.ROOMS_CSV), default=common.ROOMS_CSV) args = parser.parse_args() if args.user: args.password = base64.b64encode(getpass.getpass("Password:")) else: args.user = '******' args.password = '' room_finder = AvailRoomFinder(user=args.user, password=args.password, start_time=args.starttime, duration=args.duration, filename=args.file) # print room_finder.search_free(prefix=args.prefix) print room_finder.search_common_free(['*****@*****.**', '*****@*****.**'])
def __init__(self): self.start_time = common.time_now() self.end_time = common.end_time(self.start_time, "15m") self.room_info = {} self.timezone = common.SJ_TIME_ZONE self.error = None self.exchange_api = ExchangeApi('', '')
def process(name, url): date = common.time_now() try: p = multiprocessing.Process(target=download, args=(name, url)) p.start() p.join() # download(name, url) finally: return Event(UPLOAD, (name, url, date))
def process(name, url): try: data = {"url": url, "date": common.time_now()} p = multiprocessing.Process(target=download, args=(name, url)) p.start() p.join() # download(name, url) upload("bili_web", name, data) finally: return Event(BE_MODIFIED, args=(url, ))
def __init__(self, user, password, start_time=common.time_now(), duration=None, end_time=None, filename=common.ROOMS_CSV, timezone=common.SJ_TIME_ZONE): self.rooms = common.read_room_list(filename) self.user = user self.start_time = start_time self.room_info = {} self.timezone = timezone or common.SJ_TIME_ZONE self.error = None self.exchange_api = ExchangeApi(user, base64.b64decode(urllib.unquote(password))) if end_time is None: self.end_time = common.end_time(self.start_time, duration) if duration is None: self.end_time = end_time
def process(name, url, mod): try: now = common.time_now() if mod == 'dl': p = multiprocessing.Process(target=download, args=(name, url)) p.start() p.join() # download(name, url) Upload(name).start(url, now) elif mod == 'up': Upload(name).start(url, now) else: return url finally: event = Event(BE_MODIFIED) event.args = (url, ) return event
def __init__(self, user, password, roomname, roomemail=None, start_time=common.time_now(), duration=None, end_time=None, raw_password=None, timezone=common.SJ_TIME_ZONE): self.user = user self.roomname = roomname if roomemail is None: self.roomemail = common.read_room_list()[roomname]["email"] else: self.roomemail = roomemail self.start_time = start_time self.timezone = self._calc_timezone_str(timezone) password = raw_password or base64.b64decode(urllib.unquote(password)) self.exchange_api = ExchangeApi(user, password) if end_time is None: self.end_time = common.end_time(self.start_time, duration) if duration is None: self.end_time = end_time
def run(): """ Parse command-line arguments and request room reservation """ parser = argparse.ArgumentParser() parser.add_argument("-u", "--user", help="user name for exchange/outlook", required=True) parser.add_argument("-start", "--starttime", help="Starttime e.g. 2014-07-02T11:00:00 (default = now)", default=common.time_now()) parser.add_argument("-d", "--duration", help="Duration e.g. 30m (default = 1h)", default='1h') parser.add_argument("-e", "--roomemail", help="Email address of room", required=True) parser.add_argument("-r", "--roomname", help="Name of room", required=True) args = parser.parse_args() args.password = base64.b64encode(getpass.getpass("Password:")) room_finder = ReserveAvailRoom(user=args.user, password=args.password, roomname=args.roomname, roomemail=args.roomemail, start_time=args.starttime, duration=args.duration) room_finder.reserve_room()
def free_upload(self): for title, urls in self.streamer_url.items(): if self.free(urls) and UploadBase.filter_file(title): yield Event(UPLOAD, args=(title, urls[0], common.time_now()))
def process(name, url): date = common.time_now() try: download(name, url) finally: return Event(UPLOAD, (name, url, date))
def process_upload(name, url): try: data = {"url": url, "date": common.time_now()} upload("bili_web", name, data) finally: return Event(BE_MODIFIED, args=(url, ))