# Initialize the database import sqlite3 as sqlite import setting import log import lock SQL_INSERT_PROCESS_DATE = "insert into pdates (pdate) values (?)" SQL_INSERT_RECORD = "insert into drecords (pdate, pname) values (?,?)" SQL_INSERT_PICTURE_NAME = "insert into pnames (pname) values (?)" SQL_SELECT_RECORD_BY_PROCESS_DATE = "select pname from drecords where pdate=?" SQL_SELECT_LATEST_PROCESS_DATE = "select max(pdate) from pdates" SQL_SELECT_PROCESS_DATE = "select pdate from pdates where pdate=?" SQL_SELECT_PICTURE_NAME = "select pname from pnames where pname=?" settings = setting.getManager().getDefaultSettings() con = sqlite.connect(settings['database-file-name'], check_same_thread=False) def init(): cur = con.cursor() cur.executescript(open(settings['database-init-script-name']).read()) con.commit() if settings['database-init'] == '1': log.info('Initializing database') init() settings['database-init'] = '0'
# Python Bing Wallpaper Fetfher Log Module import time import logging import setting print("Initialing Log Module") manager = setting.getManager(interpolation=None) settings = manager.getDefaultSettings() logger = logging.getLogger("debug") logger.setLevel(logging.DEBUG) # file handler logFileName = "%s.log" % time.strftime("%Y%m%d", time.localtime(time.time())) fh = logging.FileHandler(settings["log-folder"] + "/" + logFileName) fh.setLevel(logging.DEBUG) # console handler ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # create formatter formatter = logging.Formatter(settings["log-format"]) # set formatter for both handlers fh.setFormatter(formatter) ch.setFormatter(formatter) logger.addHandler(fh) logger.addHandler(ch)
# n=1, tells how many images to return. n = 1 would return only one, n = 2 would return two, and so on. # mkt tells which of the eight markets Bing is available for you would like images from. # The valid mkt values are: en-US, zh-CN, ja-JP, en-AU, en-UK, de-DE, en-NZ, en-CA. # This script will try to fetch the above XML and get today's Bing Wallpaper URL, then download the 1920*1200 picture and then set it as Windows Background import xml.etree.ElementTree import urllib.request import os import re import time import threading import log import setting import service manager = setting.getManager() settings = manager.getDefaultSettings() lock = threading.RLock() def fetchElementTree(xmlUrl): et = None try: log.info('Connect to %s to fetch XML' % xmlUrl) response = urllib.request.urlopen(xmlUrl, timeout=5) et = xml.etree.ElementTree.fromstring(response.read()) except Exception as e: log.exception(e) return et
# n=1, tells how many images to return. n = 1 would return only one, n = 2 would return two, and so on. # mkt tells which of the eight markets Bing is available for you would like images from. # The valid mkt values are: en-US, zh-CN, ja-JP, en-AU, en-UK, de-DE, en-NZ, en-CA. # This script will try to fetch the above XML and get today's Bing Wallpaper URL, then download the 1920*1200 picture and then set it as Windows Background import xml.etree.ElementTree import urllib.request import os import re import time import threading import log import setting import service manager = setting.getManager() settings = manager.getDefaultSettings() lock = threading.RLock() def fetchElementTree(xmlUrl): et = None try: log.info('Connect to %s to fetch XML' % xmlUrl) response = urllib.request.urlopen(xmlUrl,timeout=5) et = xml.etree.ElementTree.fromstring(response.read()) except Exception as e: log.exception(e) return et def getWallPaperNodes(root): return root.findall(settings['xml-path-image'])
# Initialize the database import sqlite3 as sqlite import setting import log import lock SQL_INSERT_PROCESS_DATE="insert into pdates (pdate) values (?)" SQL_INSERT_RECORD="insert into drecords (pdate, pname) values (?,?)" SQL_INSERT_PICTURE_NAME="insert into pnames (pname) values (?)" SQL_SELECT_RECORD_BY_PROCESS_DATE="select pname from drecords where pdate=?" SQL_SELECT_LATEST_PROCESS_DATE="select max(pdate) from pdates" SQL_SELECT_PROCESS_DATE="select pdate from pdates where pdate=?" SQL_SELECT_PICTURE_NAME="select pname from pnames where pname=?" settings = setting.getManager().getDefaultSettings() con=sqlite.connect(settings['database-file-name'], check_same_thread=False) def init(): cur=con.cursor() cur.executescript(open(settings['database-init-script-name']).read()) con.commit() if settings['database-init']=='1': log.info('Initializing database') init() settings['database-init']='0' class dao: def __init__(self, con):
# Python Bing Wallpaper Fetfher Log Module import time import logging import setting print('Initialing Log Module') manager = setting.getManager(interpolation=None) settings = manager.getDefaultSettings() logger = logging.getLogger('debug') logger.setLevel(logging.DEBUG) # file handler logFileName = '%s.log' % time.strftime('%Y%m%d', time.localtime(time.time())) fh = logging.FileHandler(settings['log-folder'] + '/' + logFileName) fh.setLevel(logging.DEBUG) # console handler ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # create formatter formatter = logging.Formatter(settings['log-format']) # set formatter for both handlers fh.setFormatter(formatter) ch.setFormatter(formatter) logger.addHandler(fh) logger.addHandler(ch)