def get_date(out, date, type=None, prefix="date_"): if date is None: return False if not type: type = underscore(date.get('type')) if not type: return if date is not None: out[prefix+type] = date.get('iso-date') if (not date.get('iso-date')) and date.text: out[prefix+type] = date.text
def eedate_2_string(date): """ Args: date: ee.Date Returns: string """ str_day = convert_int(str(date.get("day").format().getInfo())) str_month = convert_int(str(date.get("month").format().getInfo())) str_year = convert_int(str(date.get("year").format().getInfo())) return "{}-{}-{}".format(str_year, str_month, str_day)
def get_table_data_bss(bss_codes, dates): details_ = get_details_from_bss(",".join(bss_codes)) data = [] if details_ != -1: if len(dates) > 0: for date in dates: data_ = {} for code, details in details_.items(): result = get_mesure_piezo( code, start_date=date.get("start_date", None), end_date=date.get("end_date", None)) if details["code_commune"] not in data_: data_[details["code_commune"]] = { "data": {}, "name": details["nom_commune"] } data_[details["code_commune"]]["data"][code] = { "date_debut_mesure": details["date_debut_mesure"], "date_fin_mesure": details["date_fin_mesure"], "mesures": result["mesures"], "count": result["count"] } _ = { "data": data_, "start_date": date.get("start_date", None), "end_date": date.get("end_date", None) } data.append(_) else: data_ = {} for code, details in details_.items(): result = get_mesure_piezo(code) if details["code_commune"] not in data_: data_[details["code_commune"]] = { "data": {}, "name": details["nom_commune"] } data_[details["code_commune"]]["data"][code] = { "date_debut_mesure": details["date_debut_mesure"], "date_fin_mesure": details["date_fin_mesure"], "mesures": result["mesures"], "count": result["count"] } _ = {"data": data_} data.append(_) return data
def __init__(self, master, date): Frame.__init__(self, master) self.pack(side=LEFT) self['width'] = 200 self['height'] = 300 self['bg'] = 'black' self['bd'] = 5 self.label = Label(self, text=date.get('title')) self.label.pack() self.lebel_indication = Label(self, text='Текущие') self.lebel_indication.pack() self.indication = Label(self, text=date.get('indication'), font='arial 24') self.indication.pack() self.last_pay_date = Label(self, text='Оплачены ' + date.get('last_pay_date')) self.last_pay_date.pack() self.last_indication = Label(self, text=date.get('indication')) self.last_indication.pack() self.pay = Label( self, text='Нужно заплатить ' + str( (int(date.get('indication')) - int(date.get('last_indication'))) * int(date.get('cost'))) + ' Рублей') self.pay.pack()
def generate_url_list(start_date, end_date, city_id=101200101): weather_url_list = [] dates = [] for year in range(start_date.get('year'), end_date.get('year') + 1): if year == end_date.get('year'): for month in range(1, start_date.get('month') + 1): date = {'year': str(year), 'month': str(month).zfill(2)} dates.append(date) else: for month in range(start_date.get('month'), 12 + 1): date = {'year': str(year), 'month': str(month).zfill(2)} dates.append(date) for date in dates: weather_url_list.append( base_url.format(year=date.get('year'), date=date.get('year') + date.get('month'), city_id=city_id)) return weather_url_list
def recibo(): txtrecibido.delete("1.0", END) x = random.randint(1000000, 99999999) randomRef = str(x) global url url = int(randomRef) Recibo_Ref.set("URL" + randomRef) txtrecibido.insert( END, "Recibo RUC:\t\t\t" + Recibo_Ref.get() + "\t\t" + date.get() + "\n") txtrecibido.insert(END, "ITEMS:\t\t\t\t\t" + "Costo de items \n\n") txtrecibido.insert(END, "Jugo de Mango:\t\t\t\t" + E_Mango.get() + "\n") txtrecibido.insert(END, "Jugo de Piña:\t\t\t\t" + E_piña.get() + "\n") txtrecibido.insert(END, "Jugo de Fresa:\t\t\t\t" + E_fresa.get() + "\n") txtrecibido.insert( END, "Jugo de Papaya:\t\t\t\t" + E_papaya.get() + "\n") txtrecibido.insert( END, "Jugo de Plátano:\t\t\t\t" + E_platano.get() + "\n") txtrecibido.insert(END, "Jugo de Kiwi:\t\t\t\t" + E_kiwi.get() + "\n") txtrecibido.insert(END, "Surtido:\t\t\t\t" + E_surtido.get() + "\n") txtrecibido.insert(END, "Especial:\t\t\t\t" + E_especial.get() + "\n") txtrecibido.insert( END, "Pastel de chocolate:\t\t\t\t" + E_choco.get() + "\n") txtrecibido.insert( END, "Pie de manzana/durazno:\t\t\t\t" + E_pie.get() + "\n") txtrecibido.insert(END, "Hamburguesa:\t\t\t\t" + E_hamb.get() + "\n") txtrecibido.insert( END, "Sandwich de pollo:\t\t\t\t" + E_sand.get() + "\n") txtrecibido.insert(END, "Bolognesa:\t\t\t\t" + E_bolog.get() + "\n") txtrecibido.insert( END, "Pie acaramelado de Piña:\t\t\t\t" + E_piñas.get() + "\n") txtrecibido.insert( END, "Ensalada de fruta:\t\t\t\t" + E_fruta.get() + "\n") txtrecibido.insert(END, "Menu del dia:\t\t\t\t" + E_menu.get() + "\n") txtrecibido.insert( END, "Costos de bebidas:\t\t" + Costodrink.get() + "\tIGV:\t\t" + PaidTax.get() + "\n") txtrecibido.insert( END, "Costos de aperitivos:\t\t" + Costotorta.get() + "\tSub Total:\t\t" + SubTotal.get() + "\n") txtrecibido.insert( END, "Cargo por servicios:\t\t" + Serviciocargo.get() + "\tCosto Total:\t\t" + Totalcost.get() + "\n")
def get_date(self, response): date = self.process_xpath( response, '//div[@id="details"]//div[contains(text(), "RELEASED")]/text()') if date: date = date.get() if "RELEASED" in date: date = re.search(r'(\w+ \d{1,2}, \d{4})', date) if date: return self.parse_date(date.group(1), date_formats=['%B %d, %Y' ]).isoformat() return self.parse_date('today').isoformat()
def added(): value = "insert into patient_reg(rid_no,date_reg,pid,name_pat,gender,age,phone,address,disease,sod)values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" value1 = (no.get(), date.get(), pid.get(), name.get(), gender.get(), age.get(), phone.get(), address.get(), disease.get(), sod.get()) #print(value1) mycursor.execute(value, value1) mydb.commit() value2 = "insert into room_infor(rid_no,name_pat,building,room_type,room_no,room_price)values(%s,%s,%s,%s,%s,%s)" value3 = (no.get(), name.get(), building.get(), rtype.get(), rno.get(), price.get()) mycursor.execute(value2, value3) mydb.commit() pat_reg()
def crawl(self): listings = {} location = 'NY, United States' offset = 0 page_count = 0 page_limit = 25 found_listings_ids = set() search_first_loop = True self.cursor.execute('SELECT room_id FROM city_listings') listing_dates_data = list() room_ids = [e for l in self.cursor.fetchall() for e in l] for room_id in room_ids: r = self.get(self.availability_url(room_id), referer='https://m.airbnb.com/s/%s' % location) try: js = json.loads(r.text) try: dates_list = js['calendar']['dates'] except KeyError: print('Could not load dates for room ID ' + room_id) continue for date in dates_list: q = {'site': 'Airbnb', 'room_id': room_id} for f in ('date', 'available'): try: q[f] = date[f] except KeyError: print('Passing, could not match ' + f) break q['has_availability'] = q['available'] del q['available'] q['price'] = date.get('price_native', None) listing_dates_data.append(q) except ValueError as e: print('Could not load JSON') print(r.text) continue db_fields = ["site", "room_id", "date", "has_availability", "price" ] key_fields = ["site", "room_id", "date", "has_availability",] self.__insert_into_db(db_fields, key_fields, listing_dates_data)
def wired_out(): # Make the soup, real quick quMath_url = "http://www.wired.com/?s=mathematician" page_html = urllib2.urlopen(quMath_url) soup = BeautifulSoup(page_html,"html.parser") #Find article titles titles = [] for art in soup.find_all('h2', {'class': 'title brandon clamp-5'}): titles.append(art.text) # Sift for article urls urList=[] for urls in soup.find_all('ul', {'class': 'border-t border-micro'}): for urls2 in urls.find_all('a'): urList.append(urls2.get('href')) #Find blurbs blurbs = [] for para in soup.find_all('p', {'class': 'exchange-sm clamp-3 marg-t-micro'}): blurbs.append(para.text) dates = [] for date in soup.find_all('time'): dates.append(date.get('pubdate')) # gets rid of empty dates dates = [x for x in dates if x!=None] # date format for i in range(len(dates)): dates[i]= parse(dates[i]) # dictionary containing article info articleInfo= {'title': None, 'url': None, 'blurb': None, 'date': None, 'shares': None} articlesDictList= [] # puts values into array of dictionaries for i in range(len(dates)): articleInfo["title"] = titles[i] articleInfo["url"] = urList[i] articleInfo["blurb"] = blurbs[i] articleInfo["date"] = dates[i] articlesDictList.append(articleInfo.copy()) # return articles return articlesDictList
def is_compare_chain_minus(self, code, analyze_at, day_cnt): cursor = self.connection.cursor() cursor.execute( "select date from data.daily_stock ds " "where ds.code = %s and ds.date < %s order by ds.id desc limit %s", (code, analyze_at, day_cnt)) dates = cursor.fetchall() result = True for date in dates: cursor.execute( "select (ds.close-ds.open) as compare from data.daily_stock ds where ds.code = %s and ds.date = %s", (code, date.get('date'))) compare = cursor.fetchone().get('compare') if compare > 0: result = False return result
def avito(url): lst = [] page = pagefetcher(url) if not page: return soup = soupmaker(page.text) item_table = soup.find_all('div', {'class': 'item_table'}) for item in item_table: title = item.find('a', {'class': 'snippet-link'}) if not title: continue else: title = title.get('title') if BAN_WORD in title: continue price = item.find('meta', {'itemprop': 'price'}) price = price.get('content') if price else '' address = item.find('span', {'class': 'item-address__string'}) address = address.text.replace('\n', ' ') if address else '' date = item.find('div', {'class': 'snippet-date-info'}) date = date.get('data-tooltip') if date else '' date = get_avito_date(date) img = item.find('div', {'class': 'item-slider-image'}) img = img.img if img else None img = img.get('src') if img else '' link = item.find('a', {'class': 'item-slider'}) link = f"https://avito.ru{link.get('href')}" if link else '' title = f"{title} {price} {address}" dct = dct_validate(name='avito.ru', time=date, title=title, content=title, img=img, link=link) #input (dct) lst.append(dct) return lst
def get_date_display(date, client): """Returns a date expression for a date object. Concatenates start and end dates if no date expression exists. :param dict date: an ArchivesSpace date :returns: date expression for the date object. :rtype: str """ date = resolve_to_json(date, client) try: expression = date["expression"] except KeyError: if date.get("end"): expression = "{0}-{1}".format(date["begin"], date["end"]) else: expression = date["begin"] return expression
content = content.splitlines() for line in content: if 'background:#efefde' in line: sub_line = ' '.join(line.split()).split('</tr>') for part in sub_line: if part.startswith('<tr><td '): event_date = part.replace('<tr><td colspan=7 style=\'background:#efefde\'><center><b>', '').replace( '</b></center></td>', '') else: if name in part: data = part.replace('<tr><td>', '').split('</td><td>') out = {'Date': event_date, 'Районний підрозділ': data[0], 'Населенний пункт': data[1], 'Вулиця': data[2], 'Відкл.уст.': data[3], 'Роботи': data[4], 'Час': data[5].replace('</td>', '')} result.append(out) return result if __name__ == '__main__': output = check_blackout(date_to, date_from, rp, location) for date in output: print '\n' print 'Дата: ', date.get('Date') print 'Районний підрозділ: ', date.get('Районний підрозділ') print 'Населенний пункт:', date.get('Населенний пункт') print 'Вулиця: ', date.get('Вулиця') print 'Відкл.уст.: ', date.get('Відкл.уст.') print 'Роботи: ', date.get('Роботи') print 'Час: ', date.get('Час')
proxies=proxies, cookies=cookies, headers=header) full_response = news_pull.text article_soup = BeautifulSoup(full_response, 'html.parser') content = article_soup.find("input", {"id": "content"}) content = content.get('value') content = strip_tags(content) content = clear_character_junk(content) title = article_soup.find("input", {"id": "mainTitle"}) title = title.get('value') title = strip_tags(title) title = clear_character_junk(title) date = article_soup.find("input", {"id": "fCreateDate"}) date = date.get('value') date = strip_tags(date) date = clear_character_junk(date) if date == now: pulled_article_titles.append(title) else: pass log_name = "test_kcna_titles.txt" f = open(log_name, "w+") for article_title in pulled_article_titles: f.write(article_title + "\r\n")
def edit(request, aktivitet): if request.method == 'GET': aktivitet = Aktivitet.objects.prefetch_related('municipalities', 'counties').get(id=aktivitet) context = { 'aktivitet': aktivitet, 'difficulties': Aktivitet.DIFFICULTY_CHOICES, 'audiences': AktivitetAudience.AUDIENCE_CHOICES, 'categories': Aktivitet.CATEGORY_CHOICES, 'all_foreninger': Forening.get_all_sorted(), 'cabins': Cabin.objects.order_by('name'), 'admin_user_search_char_length': settings.ADMIN_USER_SEARCH_CHAR_LENGTH, 'counties': County.typical_objects().order_by('name'), 'municipalities': Municipality.objects.order_by('name'), 'omrader': sorted(Omrade.lookup(), key=lambda o: o.navn), 'now': datetime.now() } return render(request, 'common/admin/aktiviteter/edit/edit.html', context) elif request.method == 'POST': errors = False aktivitet = Aktivitet.objects.get(id=aktivitet) if aktivitet.is_imported(): # Should only be possible by circumventing client-side restrictions return redirect('admin.aktiviteter.views.edit', aktivitet.id) if 'code' in request.POST: aktivitet.code = request.POST['code'] if 'title' in request.POST: aktivitet.title = request.POST['title'] if 'description' in request.POST: aktivitet.description = request.POST['description'] if 'difficulty' in request.POST: aktivitet.difficulty = request.POST['difficulty'] if 'audiences' in request.POST: aktivitet.audiences = [ AktivitetAudience.objects.get(name=audience) for audience in request.POST.getlist('audiences') ] if 'category' in request.POST: aktivitet.category = request.POST['category'] if 'category_type' in request.POST: aktivitet.category_type = request.POST['category_type'] if 'publish' in request.POST: aktivitet.published = request.POST.get('publish') == 'publish' if 'getting_there' in request.POST: aktivitet.getting_there = request.POST['getting_there'] if 'omrader' in request.POST: aktivitet.omrader = request.POST.getlist('omrader') if 'ntb_id' not in request.POST or request.POST['ntb_id'] == '': aktivitet.turforslag = None else: aktivitet.turforslag = request.POST['ntb_id'] if aktivitet.published: # If published, set the extra relevant fields (otherwise ignore them) aktivitet.private = request.POST['private'] == 'private' try: aktivitet.pub_date = datetime.strptime(request.POST['pub_date'], "%d.%m.%Y").date() except ValueError: errors = True messages.error(request, 'invalid_date_format') forening_type, forening_id = request.POST['forening'].split(':') if forening_type == 'forening': forening = Forening.objects.get(id=forening_id) if not forening in request.user.children_foreninger(): raise PermissionDenied aktivitet.forening = forening elif forening_type == 'cabin': aktivitet.forening_cabin = Cabin.objects.get(id=forening_id) else: raise PermissionDenied if 'co_foreninger[]' in request.POST and request.POST['co_foreninger[]'] != '': co_foreninger = [] co_foreninger_cabin = [] for co_forening in request.POST.getlist('co_foreninger[]'): type, id = co_forening.split(':') if type == 'forening': co_foreninger.append(id) elif type == 'cabin': co_foreninger_cabin.append(id) else: raise PermissionDenied aktivitet.co_foreninger = co_foreninger aktivitet.co_foreninger_cabin = co_foreninger_cabin else: aktivitet.co_foreninger = [] aktivitet.co_foreninger_cabin = [] if 'latlng' in request.POST: latlng = request.POST['latlng'].split(',') if len(latlng) == 2: aktivitet.start_point = Point(float(latlng[0]), float(latlng[1])) aktivitet.save() aktivitet.counties = request.POST.getlist('counties') aktivitet.municipalities = request.POST.getlist('municipalities') aktivitet.category_tags.clear() if 'category_tags' in request.POST and request.POST['category_tags'] != '': for tag in request.POST.getlist('category_tags'): obj, created = Tag.objects.get_or_create(name=tag) aktivitet.category_tags.add(obj) aktivitet.images.all().delete() for i, image in parse_html_array(request.POST, 'images').items(): AktivitetImage( aktivitet=aktivitet, url=image['url'], text=image['description'], photographer=image['photographer'], order=i ).save() dates = parse_html_array(request.POST, 'dates').items() # Remove the date objects that were explicitly deleted (checks and verifications are done # client-side). Verify that those that would be implicitly deleted (by not being POSTed for # editing) match those explicitly POSTed. date_ids = [int(d['id']) for k, d in dates if d['id'] != ''] implicit_del = set([date.id for date in aktivitet.dates.all() if date.id not in date_ids]) if len(implicit_del) > 0: # Better to raise an exception and not delete anything. The user will be confused and # lose edits, but we'll get a report and hopefully be able to fix this, if it ever # happens. raise Exception("Implicit delete of AktivitetDate is strictly forbidden!") for i, date in dates: if date['id'] != '': # @TODO Check if this can be exploited. Can you hijack another trip's date by # setting an arbitrary ID in the date['id'] field? model = AktivitetDate.objects.get(id=date['id']) else: model = AktivitetDate(aktivitet=aktivitet) # @TODO for existing dates; if model.start_date > now; dissalow editing. # Explicit delete of dates if date['status'] == 'delete': if date['id'] != '': if model.participant_count() > 0: raise Exception("Date with participants can not be deleted!") model.delete() continue try: if not date['start_time']: date['start_time'] = '08:00' if not date['end_time']: date['end_time'] = '16:00' # @TODO check start_time > now model.start_date = datetime.strptime( "%s %s" % (date['start_date'], date['start_time']), "%d.%m.%Y %H:%M" ) # @TODO check end_time > start_time model.end_date = datetime.strptime( "%s %s" % (date['end_date'], date['end_time']), "%d.%m.%Y %H:%M" ) # @TODO check start_date > meeting_time if date['start_date'] and date['meeting_time']: model.meeting_time = datetime.strptime( "%s %s" % (date['start_date'], date['meeting_time']), "%d.%m.%Y %H:%M" ) if not date['signup_method'] or date['signup_method'] == 'none': # To the next maintainer. This block indicates that a date does not allow # signup. However, keep in mind that this might be an existing date with # participants. Hence, do not set model.participant to None event though it # might be tempting! model.signup_enabled = False model.signup_start = None model.signup_deadline = None model.cancel_deadline = None elif date['signup_method'] == 'normal' or date['signup_method'] == 'simple': model.signup_enabled = True if date.get('max_participants_limited'): model.max_participants = date['max_participants'] else: model.max_participants = None if date.get('no_signup_start') == '1': model.signup_start = None else: model.signup_start = datetime.strptime( date['signup_start'], "%d.%m.%Y", ).date() if 'no_signup_deadline' in date and date['no_signup_deadline'] == '1': model.signup_deadline = None elif 'signup_deadline' in date and date['signup_deadline'] != '': model.signup_deadline = datetime.strptime( date['signup_deadline'], "%d.%m.%Y", ).date() if 'no_cancel_deadline' in date and date['no_cancel_deadline'] == '1': model.cancel_deadline = None elif 'cancel_deadline' in date and date['cancel_deadline'] != '': model.cancel_deadline = datetime.strptime( date['cancel_deadline'], "%d.%m.%Y" ).date() else: raise Exception("Unrecognized POST value for signup_method field") except ValueError: errors = True messages.error(request, 'invalid_date_format') return redirect('admin.aktiviteter.views.edit', aktivitet.id) # Note that simple signup is currently disabled and due to be removed model.signup_simple_allowed = False model.meeting_place = date['meeting_place'] model.contact_type = date['contact_type'] model.contact_custom_name = date['contact_custom_name'] model.contact_custom_phone = date['contact_custom_phone'] model.contact_custom_email = date['contact_custom_email'] model.should_have_turleder = date.get('should_have_turleder') == '1' model.save() if date.get('should_have_turleder') == '1': # We need to specify the key for this particular field because the parse_html_array # function does not properly parse multidimensional arrays. key = 'dates[%s][turleder][]' % i if key in request.POST and request.POST[key] != '': model.turledere = request.POST.getlist(key) else: model.turledere = [] if not errors: messages.info(request, 'save_success') if json.loads(request.POST['preview']): return redirect('admin.aktiviteter.views.preview', aktivitet.id) else: return redirect('admin.aktiviteter.views.edit', aktivitet.id)
def get_table_data_locations(coms_to_keep, deps_to_keep, regs_to_keep, dates_to_keep): data_ = [] stations = {} if len(dates_to_keep) > 0: for date in dates_to_keep: data = {} for gran, gran_dict in { "commune": coms_to_keep, "departement": deps_to_keep, "region": regs_to_keep }.items(): for loc, details in gran_dict.items(): data[loc] = {} code = details.get("codesDepartements", loc) bss = insee_to_bss(code, gran) stations[loc] = {} if bss == -1: data[loc]["data"] = -1 data[loc]["name"] = details['nom'] stations[loc]["nb_stations"] = 0 stations[loc]["stations"] = [] stations[loc]["name"] = details['nom'] else: for station in bss: result = get_mesure_piezo( station, start_date=date.get("start_date", None), end_date=date.get("end_date", None)) bss[station]["mesures"] = result["mesures"] bss[station]["count"] = result["count"] data[loc]["data"] = bss data[loc]["name"] = details['nom'] stations[loc]["nb_stations"] = len(bss) stations[loc]["stations"] = list(bss.keys()) stations[loc]["name"] = details['nom'] _ = { "data": data, "start_date": date.get("start_date", None), "end_date": date.get("end_date", None) } data_.append(_) else: data = {} for gran, gran_dict in { "commune": coms_to_keep, "departement": deps_to_keep, "region": regs_to_keep }.items(): for loc, details in gran_dict.items(): data[loc] = {} code = details.get("codesDepartements", loc) bss = insee_to_bss(code, gran) stations[loc] = {} if bss == -1: data[loc]["data"] = -1 data[loc]["name"] = details['nom'] stations[loc]["nb_stations"] = 0 stations[loc]["stations"] = [] stations[loc]["name"] = details['nom'] else: for station in bss: result = get_mesure_piezo(station) bss[station]["mesures"] = result["mesures"] bss[station]["count"] = result["count"] data[loc]["data"] = bss data[loc]["name"] = details['nom'] stations[loc]["nb_stations"] = len(bss) stations[loc]["stations"] = list(bss.keys()) stations[loc]["name"] = details['nom'] _ = {"data": data} data_.append(_) return data_, stations
def sendMailLater(): senderFinal = myMail.get() passwordFinal = password.get() recieverFinal = otherMail.get() subjectFinal = subject.get() bodyFinal = body.get("1.0", END) dateFinal = date.get() timeFinal = time.get() window.destroy() window2.destroy() window3.destroy() try: x = sendEmailInTime(senderFinal, passwordFinal, recieverFinal, subjectFinal, bodyFinal, getFile.fileName, dateFinal, timeFinal) except: x = sendEmailInTime(senderFinal, passwordFinal, recieverFinal, subjectFinal, bodyFinal, '0', dateFinal, timeFinal) if (x == 'dateFormat'): lll.pack_forget() ll.pack_forget() l.pack_forget() MailSentLabel = Label( topFrame, text="you you have entered a wrong date format") MailSentLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) MailSentLabel.pack() thankYouLabel = Label(topFrame, text="email not sent") thankYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) thankYouLabel.pack() seeYouLabel = Label(topFrame, text="please try again") seeYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) seeYouLabel.pack() elif (x == 'timeFormat'): lll.pack_forget() ll.pack_forget() l.pack_forget() MailSentLabel = Label( topFrame, text="you you have entered a wrong time format") MailSentLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) MailSentLabel.pack() thankYouLabel = Label(topFrame, text="email not sent") thankYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) thankYouLabel.pack() seeYouLabel = Label(topFrame, text="please try again") seeYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) seeYouLabel.pack() elif (x == 'past'): lll.pack_forget() ll.pack_forget() l.pack_forget() root.geometry("1000x300") MailNotSentLabel = Label( topFrame, text= "“You can't go back and change the beginning,but you") MailNotSentLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) MailNotSentLabel.pack() MailNotSentLabel = Label( topFrame, text="can start where you are and change the ending.”") MailNotSentLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) MailNotSentLabel.pack() seeYouLabel = Label(topFrame, text="― C. S. Lewis") seeYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) seeYouLabel.pack() seeYouLabel = Label( topFrame, text="we are sorry we can not do anything the past time" ) seeYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) seeYouLabel.pack() seeYouLabel = Label( topFrame, text= "please try again and enter a date and time in the future" ) seeYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) seeYouLabel.pack() elif (x == 'notSent'): lll.pack_forget() ll.pack_forget() l.pack_forget() MailNotSentLabel = Label(topFrame, text="mail not sent") MailNotSentLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) MailNotSentLabel.pack() seeYouLabel = Label( topFrame, text="please check the entered data and try again") seeYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) seeYouLabel.pack() elif (x == 'sent'): lll.pack_forget() ll.pack_forget() l.pack_forget() MailSentLabel = Label(topFrame, text="mail sent successfully") MailSentLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) MailSentLabel.pack() thankYouLabel = Label( topFrame, text="thank you for using our program") thankYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) thankYouLabel.pack() seeYouLabel = Label(topFrame, text="see you") seeYouLabel.config(foreground='#8BD8BD', background='#243665', font=('times', 30, 'bold')) seeYouLabel.pack()
import os.path from datetime import date consumer_key = '' consumer_secret = '' user_key = '' user_secret = '' jsondir = 'fitbit-json/' # your user_id, you can get from URL for your profile uid='' # actually the first day that you started using fitbit in the format YYYY-MM-DD end_date='' d = date.today() today = str(d.isoformat()) authd_client = fitbit.Fitbit(consumer_key, consumer_secret, user_key=user_key, user_secret=user_secret) max_step_stats = authd_client.time_series('activities/steps',user_id=uid,end_date=end_date,base_date='today') stepsjson = json.loads(json.dumps(max_step_stats)) for key,value in stepsjson.iteritems(): for date in value: day = date.get('dateTime') jsonfile = jsondir + day + ".json" if not os.path.isfile(jsonfile) and day != today: file = open(jsonfile,'w+') json.dump(date,file) file.close()
def get_planning_master_data(filters=None): filters = json.loads(filters) data = dict() precision = frappe.db.get_singles_value('System Settings', 'float_precision') planning_master = filters.get("planning_master") # fetch date_data date_data = get_date_data(planning_master) data.update({ 'date_data': [(pmi.get('date')).strftime('%d-%m-%Y') for pmi in date_data] }) # fetch date_data_with_amount date_wise_planning_details = date_wise_planning_master(planning_master) data.update({'date_data_with_amount': date_wise_planning_details}) company = frappe.db.get_single_value("Global Defaults", 'default_company') # fetch warehouse list from medtech settings fg_warehouse_list = get_warehouses() ohs_dict = get_current_stock(fg_warehouse_list) # fetch planning_data from planning_master item planning_data = get_planning_data(planning_master) for row in date_wise_planning_details: for item in planning_data: if row.item_code == item.item_code: item.update({row.get('date').strftime('%d-%m-%Y'): row.amount}) item_dict = dict() final_dict = dict() # fetch raw materials data from BOM and stock data for item in planning_data: bom_data = get_bom_data(item.get('bom')) item.update({'bom_data': bom_data}) item_details = {item.item_code: item for item in planning_data} remaining_dict = dict() check_date = dict() for date in date_wise_planning_details: fg_detail = item_details.get(date.get('item_code')) for raw in fg_detail.get('bom_data'): required_qty = raw.get('stock_qty') * date.get('amount') if raw.get('item_code') not in remaining_dict: current_stock = ohs_dict.get(raw.get('item_code')) or 0 stock_expected = get_expected_stock(raw.get('item_code'), date.get('date')) stock_exp = stock_expected[0].get( "qty") if stock_expected else 0 virtual_stock = current_stock + stock_exp remaining_qty = virtual_stock - required_qty remaining_dict[raw.get( 'item_code')] = remaining_qty if remaining_qty > 0 else 0 raw[date.get('date').strftime('%d-%m-%Y')] = flt( remaining_qty, precision) if remaining_qty < 0 else flt( required_qty, precision) check_date[raw.get('item_code')] = date.get('date') else: if date.get('date') == check_date.get(raw.get('item_code')): virtual_stock = remaining_dict.get(raw.get('item_code')) else: stock_expected = get_expected_stock( raw.get('item_code'), date.get('date')) stock_exp = stock_expected[0].get( "qty") if stock_expected else 0 check_date[raw.get('item_code')] = date.get('date') virtual_stock = stock_exp + remaining_dict.get( raw.get('item_code')) remaining_qty = virtual_stock - required_qty remaining_dict[raw.get( 'item_code')] = remaining_qty if remaining_qty > 0 else 0 raw[date.get('date').strftime('%d-%m-%Y')] = flt( remaining_qty, precision) if remaining_qty < 0 else flt( required_qty, precision) data.update({'planning_data': item_details}) final_data = data path = 'medtech_bpa/medtech_bpa/page/plan_availability/plan_availability.html' html = frappe.render_template(path, {'data': data}) return {'html': html, 'data': final_data}