def dev_config_page(): form = DeviceConfigForm() if form.validate_on_submit(): if form.measurements_count.data: set_config_value('min_measurements_count', form.measurements_count.data) if form.measurement_interval.data: set_config_value('default_sleep_time', form.measurement_interval.data) if form.status_mail_time.data: set_config_value('notification_time', str(form.status_mail_time.data)) flash('config value was set') return redirect('/') else: for field, error in form.errors.items(): flash( f'Troubles with field {getattr(form, field).label.text}: {" ".join(error)}' ) context = { 'measurements_count': get_config_value('min_measurements_count'), 'measurement_interval': get_config_value('default_sleep_time'), 'status_mail_time': get_config_value('notification_time') } return render_template('dev_config.html', title='dev-config', form=form, context=context)
def get_addresses(dbinfo): """ Retrieve the notification email address from the database :param dbinfo: connection information :type dbinfo: dict :return: list of recipients and the sender address """ receive = utils.get_config_value(dbinfo, 'email.stats_notification').split(',') sender = utils.get_config_value(dbinfo, 'email.espa_address').split(',') debug = utils.get_config_value(dbinfo, 'email.stats_debug').split(',') return receive, sender, debug
def uploadSiteHostedPicture(filepath): isURL = 'http://' in filepath or 'https://' in filepath #get the user auth token token = get_config_value({("auth", "token"): "", })[("auth", "token")] oname = "UploadSiteHostedPictures" rname = "%sRequest" % oname root = etree.Element(rname, xmlns="urn:ebay:apis:eBLBaseComponents") credentials_elem = etree.SubElement(root, "RequesterCredentials") token_elem = etree.SubElement(credentials_elem, "eBayAuthToken") token_elem.text = token add_e(root, "PictureSet", "Supersize") if isURL: urlpath = filepath else: try: urlpath = imgur_post(filepath) except Exception as e: sys.stderr.write("Unable to upload img: %s. Abort -1.\n" % filepath) raise e epu = add_e(root, "ExternalPictureURL", urlpath) request = etree.tostring(root, pretty_print=True, xml_declaration=True, encoding="UTF-8") response = get_response(oname, request, "UTF-8") return urlpath
def handle_doc_central_logging(ctx, logger): config_path = os.path.join(get_csm_data_directory(), 'config') config_option = get_config_value(config_path, 'Doc Central', 'doc_central_support_enabled') if config_option == "True": try: if ctx.install_job.install_action == InstallAction.POST_UPGRADE: aggregate_and_upload_log(ctx) except Exception: logger.exception('handle_doc_central_logging hit exception - hostname = %s, install job = %s', ctx.host.hostname if ctx.host is not None else 'Unknown', ctx.install_job.id)
def multiple_mails(): current_emails = get_config_value('recivers_emails') print(current_emails) form = EmailsForm() if form.validate_on_submit(): if form.emails.data: emails = form.emails.data udpate_emails_list(emails) return redirect('/mails') return render_template('emails.html', title='emails config', form=form, cemails=current_emails)
def handle_doc_central_logging(ctx, logger): config_path = os.path.join(get_csm_data_directory(), 'config') config_option = get_config_value(config_path, 'Doc Central', 'doc_central_support_enabled') if config_option == "True": try: if ctx.install_job.install_action == InstallAction.POST_UPGRADE: aggregate_and_upload_log(ctx) except Exception: logger.exception( 'handle_doc_central_logging hit exception - hostname = %s, install job = %s', ctx.host.hostname if ctx.host is not None else 'Unknown', ctx.install_job.id)
def getCategories(parentId=None, \ detailLevel='ReturnAll', \ errorLanguage=None, \ messageId=None, \ outputSelector=None, \ version=None, \ warningLevel="High", \ levelLimit=1, \ viewAllNodes=True, \ categorySiteId=0, \ encoding="JSON"): """ Using a query string and parentId this function returns all the categories containing that string within the category name, and as a subcategory of the category defined by the parentId. If the parentId is missing, it simply returns a list of all the top-level categories. (based on http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/GetCategories.html#Request) """ #get the user auth token token = get_config_value({("auth", "token"): "", })[("auth", "token")] root = etree.Element("GetCategoriesRequest", xmlns="urn:ebay:apis:eBLBaseComponents") #add it to the xml doc credentials_elem = etree.SubElement(root, "RequesterCredentials") token_elem = etree.SubElement(credentials_elem, "eBayAuthToken") token_elem.text = token if parentId == None and levelLimit: levelLimit_elem = etree.SubElement(root, "LevelLimit") levelLimit_elem.text = str(levelLimit) elif parentId: parentId_elem = etree.SubElement(root, "CategoryParent") parentId_elem.text = str(parentId) viewAllNodes_elem = etree.SubElement(root, "ViewAllNodes") viewAllNodes_elem.text = str(viewAllNodes).lower() categorySiteId_elem = etree.SubElement(root, "CategorySiteID") categorySiteId_elem.text = str(categorySiteId) if detailLevel: detailLevel_elem = etree.SubElement(root, "DetailLevel") detailLevel_elem.text = detailLevel if errorLanguage: errorLanguage_elem = etree.SubElement(root, "ErrorLanguage") errorLanguage_elem.text = errorLanguage if messageId: messageId_elem = etree.SubElement(root, "MessageID") messageId_elem.text = messageId if outputSelector: outputSelector_elem = etree.SubElement(root, "OutputSelector") outputSelector_elem.text = outputSelector if version: version_elem = etree.SubElement(root, "Version") version_elem.text = version if warningLevel: warningLevel_elem = etree.SubElement(root, "WarningLevel") warningLevel_elem.text = warningLevel #need to specify xml declaration and encoding or else will get error request = etree.tostring(root, pretty_print=False, xml_declaration=True, encoding="utf-8") response = get_response("GetCategories", request, encoding) return response
def getCategories(parentId=None, \ detailLevel='ReturnAll', \ errorLanguage=None, \ messageId=None, \ outputSelector=None, \ version=None, \ warningLevel="High", \ levelLimit=1, \ viewAllNodes=True, \ categorySiteId=0, \ encoding="JSON"): """ Using a query string and parentId this function returns all the categories containing that string within the category name, and as a subcategory of the category defined by the parentId. If the parentId is missing, it simply returns a list of all the top-level categories. (based on http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/GetCategories.html#Request) """ #get the user auth token token = get_config_value({ ("auth", "token"): "", })[("auth", "token")] root = etree.Element("GetCategoriesRequest", xmlns="urn:ebay:apis:eBLBaseComponents") #add it to the xml doc credentials_elem = etree.SubElement(root, "RequesterCredentials") token_elem = etree.SubElement(credentials_elem, "eBayAuthToken") token_elem.text = token if parentId == None and levelLimit: levelLimit_elem = etree.SubElement(root, "LevelLimit") levelLimit_elem.text = str(levelLimit) elif parentId: parentId_elem = etree.SubElement(root, "CategoryParent") parentId_elem.text = str(parentId) viewAllNodes_elem = etree.SubElement(root, "ViewAllNodes") viewAllNodes_elem.text = str(viewAllNodes).lower() categorySiteId_elem = etree.SubElement(root, "CategorySiteID") categorySiteId_elem.text = str(categorySiteId) if detailLevel: detailLevel_elem = etree.SubElement(root, "DetailLevel") detailLevel_elem.text = detailLevel if errorLanguage: errorLanguage_elem = etree.SubElement(root, "ErrorLanguage") errorLanguage_elem.text = errorLanguage if messageId: messageId_elem = etree.SubElement(root, "MessageID") messageId_elem.text = messageId if outputSelector: outputSelector_elem = etree.SubElement(root, "OutputSelector") outputSelector_elem.text = outputSelector if version: version_elem = etree.SubElement(root, "Version") version_elem.text = version if warningLevel: warningLevel_elem = etree.SubElement(root, "WarningLevel") warningLevel_elem.text = warningLevel #need to specify xml declaration and encoding or else will get error request = etree.tostring(root, pretty_print=False, xml_declaration=True, encoding="utf-8") response = get_response("GetCategories", request, encoding) return response
def addItem(title, description, primaryCategoryId, startPrice='0.99', buyItNowPrice=None, country='US', currency='USD', dispatchTimeMax='3', listingDuration='Days_7', listingType='Chinese', paymentMethods=['PayPal'], payPalEmailAddress='', pictureDetails=[], postalCode='', photoDisplay='PicturePack', condition='new', quantity=1, freeShipping=True, site='US', test=False): #get the user auth token token = get_config_value({("auth", "token"): "", })[("auth", "token")] oname = "AddItem" if not test else 'VerifyAddItem' rname = "%sRequest" % oname root = etree.Element(rname, xmlns="urn:ebay:apis:eBLBaseComponents") #add it to the xml doc credentials_elem = etree.SubElement(root, "RequesterCredentials") token_elem = etree.SubElement(credentials_elem, "eBayAuthToken") token_elem.text = token item_e = etree.SubElement(root, "Item") t_e = add_e(item_e, "Title", str(title)) d_e = add_e(item_e, "Description", str(description)) pcat = add_e(item_e, "PrimaryCategory", None) cid = add_e(pcat, "CategoryID", primaryCategoryId) add_e(item_e, "ConditionID", CID.get(condition, 'new')) sp = add_e(item_e, "StartPrice", startPrice) if buyItNowPrice: sp = add_e(item_e, "BuyItNowPrice", buyItNowPrice) cma = add_e(item_e, "CategoryMappingAllowed", 'true') cnode = add_e(item_e, "Country", country) curre = add_e(item_e, "Currency", currency) dtme = add_e(item_e, "DispatchTimeMax", dispatchTimeMax) lde = add_e(item_e, "ListingDuration", listingDuration) for t in paymentMethods: pme = add_e(item_e, "PaymentMethods", t) ppea = add_e(item_e, "PayPalEmailAddress", payPalEmailAddress) picde = add_e(item_e, "PictureDetails", None) add_e(picde, "PhotoDisplay", photoDisplay) for url in pictureDetails: ure = add_e(picde, "PictureURL", url) pce = add_e(item_e, "PostalCode", postalCode) que = add_e(item_e, "Quantity", quantity) # default return returnPol_e = add_e(item_e, "ReturnPolicy", None) add_e(returnPol_e, "ReturnsAcceptedOption", "ReturnsAccepted") add_e(returnPol_e, "RefundOption", "MoneyBack") add_e(returnPol_e, "ReturnsWithinOption", "Days_30") add_e(returnPol_e, "Description", "If you are not satisfied, ship the item back for a full refund.") add_e(returnPol_e, "ShippingCostPaidByOption", "Buyer") # end default ret pol shipde_e = add_e(item_e, "ShippingDetails", None) if freeShipping: sst = add_e(shipde_e, "ShippingType", "Flat") sse = add_e(shipde_e, "ShippingServiceOptions", None) add_e(sse, "ShippingService", "USPSMedia") add_e(sse, "ShippingServiceCost", "0.0") add_e(sse, "ShippingServiceAdditionalCost", "0.0") add_e(sse, "ShippingServicePriority", "1") add_e(sse, "ExpeditedService", "false") site_e = add_e(item_e, "Site", site) #need to specify xml declaration and encoding or else will get error request = etree.tostring(root, pretty_print=True, xml_declaration=True, encoding="utf-8") response = get_response(oname, request, "utf-8") return response