def run(self): ''' main function ''' ''' get background picture from momentumdash.com ''' print("Updating infinity new tab image...") success = 0 #ljx print("download...") while success == 0: index = random.randint(1000, 20000) filename = "/home/ljx/Pictures/infinity/" + str(index) + ".jpg" self.get_bg_picture(index) r = os.system("cat " + filename + " |grep error") if r != 0: success = 1 break print("failed,again...") os.system("rm " + filename) #xjl print("\nSaving to '%s'..." % (filename)) ''' set background picture as wallpaper ''' ''' scaled, wallpaper, stretched, spanned ''' if not set_background(filename, "stretched"): exit("Your desktop environment '{}' is not supported.".format( get_desktop_environment())) print("Done!")
def main(): ''' main function ''' global counter ''' check if setting data is correct or not ''' if auto_offset and hour_offset: exit( "You can not set `auto_offset` to True and `hour_offset` to a value that is different than zero." ) elif hour_offset < 0: exit( "`hour_offset` must be greater than or equal to zero. I can't get future images of Earth for now." ) ''' start to download picture ''' print("Updating...") ''' get latest updating time ''' url = 'http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json' latest_json = urllib2.urlopen(url) latest = strptime( loads(latest_json.read().decode("utf-8"))["date"], "%Y-%m-%d %H:%M:%S") print("Latest version: {} GMT".format(strftime("%Y/%m/%d %H:%M:%S", latest))) if auto_offset or hour_offset > 0: requested_time = get_time_offset(latest) print("Offset version: {} GMT".format( strftime("%Y/%m/%d %H:%M:%S", requested_time))) else: requested_time = latest print ''' use Python Imaging Library (PIL) to generate png ''' png = Image.new('RGB', (width * level, height * level)) counter = multiprocessing.Value("i", 0) p = multiprocessing.Pool(multiprocessing.cpu_count() * level) print("Downloading tiles: 0/%s completed" % (level * level)) res = p.map(download_chunk, product(range(level), range(level), (requested_time, ))) for (x, y, tiledata) in res: tile = Image.open(BytesIO(tiledata)) png.paste(tile, (width * x, height * y, width * (x + 1), height * (y + 1))) print("\nSaving to '%s'..." % (output_file)) if not os.path.exists(os.path.dirname(output_file)): os.makedirs(os.path.dirname(output_file)) png.save(output_file, "PNG") if not set_background(output_file): exit("Your desktop environment '{}' is not supported.".format( get_desktop_environment())) print("Done!")
def main(): global counter print("Updating...") with urlopen("http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json") as latest_json: latest = strptime(loads(latest_json.read().decode("utf-8"))["date"], "%Y-%m-%d %H:%M:%S") print("Latest version: {} GMT\n".format(strftime("%Y/%m/%d %H:%M:%S", latest))) png = Image.new('RGB', (width*level, height*level)) counter = Value("i", 0) p = Pool(cpu_count() * level) print("Downloading tiles: 0/{} completed".format(level*level), end="\r") res = p.map(download_chunk, product(range(level), range(level), (latest,))) for (x, y, tiledata) in res: tile = Image.open(BytesIO(tiledata)) png.paste(tile, (width*x, height*y, width*(x+1), height*(y+1))) makedirs(split(output_file)[0], exist_ok=True) png.save(output_file, "PNG") de = get_desktop_environment() if de in ["gnome", "unity", "cinnamon", "pantheon", "gnome-classic"]: # Because of a bug and stupid design of gsettings, see http://askubuntu.com/a/418521/388226 if de == "unity": call(["gsettings", "set", "org.gnome.desktop.background", "draw-background", "false"]) call(["gsettings", "set", "org.gnome.desktop.background", "picture-uri", "file://" + output_file]) call(["gsettings", "set", "org.gnome.desktop.background", "picture-options", "scaled"]) call(["gsettings", "set", "org.gnome.desktop.background", "primary-color", "FFFFFF"]) elif de == "mate": call(["gsettings", "set", "org.mate.background", "picture-filename", output_file]) elif de == "xfce4": for display in xfce_displays: call(["xfconf-query", "--channel", "xfce4-desktop", "--property", display, "--set", output_file]) elif de == "lxde": call(["pcmanfm", "--set-wallpaper", output_file, "--wallpaper-mode=fit",]) elif de == "mac": call(["osascript", "-e", 'tell application "System Events"\nset theDesktops to a reference to every desktop\n' 'repeat with aDesktop in theDesktops\n' 'set the picture of aDesktop to \"' + output_file + '"\nend repeat\nend tell']) call(["killall", "Dock"]) elif has_program("feh"): print("\nCouldn't detect your desktop environment ('{}'), but you have" "'feh' installed so we will use it.".format(de)) environ['DISPLAY'] = ':0' call(["feh", "--bg-max", output_file]) elif has_program("nitrogen"): print("\nCouldn't detect your desktop environment ('{}'), but you have " "'nitrogen' installed so we will use it.".format(de)) environ["DISPLAY"] = ':0' call(["nitrogen", "--restore"]) else: exit("Your desktop environment '{}' is not supported.".format(de)) print("\nDone!\n")
def main(): width = 550 height = 550 print("Updating...") with urlopen("http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json") as latest_json: latest = strptime(loads(latest_json.read().decode("utf-8"))["date"], "%Y-%m-%d %H:%M:%S") print("Latest version: {} GMT\n".format(strftime("%Y/%m/%d/%H:%M:%S", latest))) url_format = "http://himawari8.nict.go.jp/img/D531106/{}d/{}/{}_{}_{}.png" png = Image.new('RGB', (width*level, height*level)) print("Downloading tiles: 0/{} completed".format(level*level), end="\r") for x in range(level): for y in range(level): with urlopen(url_format.format(level, width, strftime("%Y/%m/%d/%H%M%S", latest), x, y)) as tile_w: tiledata = tile_w.read() tile = Image.open(BytesIO(tiledata)) png.paste(tile, (width*x, height*y, width*(x+1), height*(y+1))) print("Downloading tiles: {}/{} completed".format(x*level + y + 1, level*level), end="\r") print("\nDownloaded\n") makedirs(split(output_file)[0], exist_ok=True) png.save(output_file, "PNG") de = get_desktop_environment() if de in ["gnome", "unity", "cinnamon"]: # Because of a bug and stupid design of gsettings, see http://askubuntu.com/a/418521/388226 if de == "unity": call(["gsettings", "set", "org.gnome.desktop.background", "draw-background", "false"]) call(["gsettings", "set", "org.gnome.desktop.background", "picture-uri", "file://" + output_file]) call(["gsettings", "set", "org.gnome.desktop.background", "picture-options", "scaled"]) elif de == "mate": call(["gconftool-2", "-type", "string", "-set", "/desktop/gnome/background/picture_filename", '"{}"'.format(output_file)]) elif de == "xfce4": call(["xfconf-query", "--channel", "xfce4-desktop", "--property", "/backdrop/screen0/monitor0/image-path", "--set", output_file]) elif de == "lxde": call(["display", "-window", "root", output_file]) elif de == "mac": call(["osascript","-e","tell application \"System Events\"\nset theDesktops to a reference to every desktop\nrepeat with aDesktop in theDesktops\nset the picture of aDesktop to \""+output_file+"\"\nend repeat\nend tell"]) else: exit("Your desktop environment '{}' is not supported.".format(de)) print("Done!\n")
def run(self): ''' main function ''' ''' get background picture from momentumdash.com ''' print("Updating momentumdash image...") self.get_bg_picture() print("\nSaving to '%s'..." % (momentumdash_output_file)) ''' set background picture as wallpaper ''' ''' scaled, wallpaper, stretched, spanned ''' if not set_background(momentumdash_output_file, "stretched"): exit("Your desktop environment '{}' is not supported.".format( get_desktop_environment())) print("Done!")
def main(): global counter print("Updating...") with urlopen("http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json") as latest_json: latest = strptime(loads(latest_json.read().decode("utf-8"))["date"], "%Y-%m-%d %H:%M:%S") print("Latest version: {} GMT\n".format(strftime("%Y/%m/%d %H:%M:%S", latest))) url_format = "http://himawari8.nict.go.jp/img/D531106/{}d/{}/{}_{}_{}.png" png = Image.new('RGB', (width*level, height*level)) counter = Value("i", 0) p = Pool(cpu_count() * level) print("Downloading tiles: 0/{} completed".format(level*level), end="\r") res = p.map(download_chunk, product(range(level), range(level), (latest,))) for (x, y, tiledata) in res: tile = Image.open(BytesIO(tiledata)) png.paste(tile, (width*x, height*y, width*(x+1), height*(y+1))) makedirs(split(output_file)[0], exist_ok=True) png.save(output_file, "PNG") de = get_desktop_environment() if de in ["gnome", "unity", "cinnamon", "pantheon", "gnome-classic"]: # Because of a bug and stupid design of gsettings, see http://askubuntu.com/a/418521/388226 if de == "unity": call(["gsettings", "set", "org.gnome.desktop.background", "draw-background", "false"]) call(["gsettings", "set", "org.gnome.desktop.background", "picture-uri", "file://" + output_file]) call(["gsettings", "set", "org.gnome.desktop.background", "picture-options", "scaled"]) elif de == "mate": call(["gsettings", "set", "org.mate.background", "picture-filename", output_file]) elif de == "xfce4": call(["xfconf-query", "--channel", "xfce4-desktop", "--property", "/backdrop/screen0/monitor0/image-path", "--set", output_file]) elif de == "lxde": call(["display", "-window", "root", output_file]) elif de == "use_feh": print("\nYou seem to be using linux without a DE; Attempting to set backgroud with feh\n") call(["feh", "--bg-max", output_file]) else: exit("Your desktop environment '{}' is not supported.".format(de)) print("\nDone!\n")
def thread_main(args): global counter global LATEST_JSON counter = mp.Value("i", 0) level = args.level # since we are going to use it a lot of times print("Updating...") latest_json = download("http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json") latest = strptime(json.loads(latest_json.decode("utf-8"))["date"], "%Y-%m-%d %H:%M:%S") print("Latest version: {} GMT.".format(strftime("%Y/%m/%d %H:%M:%S", latest))) if latest_json == LATEST_JSON: print('Skip...') return LATEST_JSON = latest_json requested_time = calculate_time_offset(latest, args.auto_offset, args.offset) if args.auto_offset or args.offset != 10: print("Offset version: {} GMT.".format(strftime("%Y/%m/%d %H:%M:%S", requested_time))) png = Image.new("RGB", (WIDTH * level, HEIGHT * level)) p = mp_dummy.Pool(level * level) print("Downloading tiles...") res = p.map(download_chunk, it.product(range(level), range(level), (requested_time,), (args.level,))) for (x, y, tiledata) in res: tile = Image.open(io.BytesIO(tiledata)) png.paste(tile, (WIDTH * x, HEIGHT * y, WIDTH * (x + 1), HEIGHT * (y + 1))) for file in iglob(path.join(args.output_dir, "himawari-*.png")): os.remove(file) output_file = path.join(args.output_dir, strftime("himawari-%Y%m%dT%H%M%S.png", requested_time)) print("Saving to '%s'..." % (output_file,)) os.makedirs(path.dirname(output_file), exist_ok=True) png.save(output_file, "PNG") if sys.platform == 'win32': return if not set_background(output_file): sys.exit("Your desktop environment '{}' is not supported!\n".format(get_desktop_environment()))
def main(): width = 550 height = 550 print("Updating...") with urlopen("http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json") as latest_json: latest = strptime(loads(latest_json.read().decode("utf-8"))["date"], "%Y-%m-%d %H:%M:%S") print("Latest version: {} GMT\n".format(strftime("%Y/%m/%d/%H:%M:%S", latest))) url_format = "http://himawari8.nict.go.jp/img/D531106/{}d/{}/{}_{}_{}.png" png = Image.new('RGB', (width*level, height*level)) print("Downloading tiles: 0/{} completed".format(level*level), end="\r") for x in range(level): for y in range(level): with urlopen(url_format.format(level, width, strftime("%Y/%m/%d/%H%M%S", latest), x, y)) as tile_w: tiledata = tile_w.read() tile = Image.open(BytesIO(tiledata)) png.paste(tile, (width*x, height*y, width*(x+1), height*(y+1))) print("Downloading tiles: {}/{} completed".format(x*level + y + 1, level*level), end="\r") print("\nDownloaded\n") output_file = expanduser("~/.himawari-latest.png") png.save(output_file, "PNG") de = get_desktop_environment() if de in ["gnome", "unity", "cinnamon"]: # Because of a bug and stupid design of gsettings, see http://askubuntu.com/a/418521/388226 system("gsettings set org.gnome.desktop.background draw-background false \ && gsettings set org.gnome.desktop.background picture-uri file://" + output_file + " && gsettings set org.gnome.desktop.background picture-options scaled") elif de == "mate": system("gconftool-2 -type string -set /desktop/gnome/background/picture_filename \"{}\"".format(output_file)) elif de == "xfce4": system("xfconf-query --channel xfce4-desktop --property /backdrop/screen0/monitor0/image-path --set " + output_file) else: exit("Your desktop environment '{}' is not supported.".format(de)) print("Done!\n")
def main(): width = 550 height = 550 print("Updating...") with urlopen( "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json" ) as latest_json: latest = strptime( loads(latest_json.read().decode("utf-8"))["date"], "%Y-%m-%d %H:%M:%S") print("Latest version: {} GMT\n".format( strftime("%Y/%m/%d/%H:%M:%S", latest))) url_format = "http://himawari8.nict.go.jp/img/D531106/{}d/{}/{}_{}_{}.png" png = Image.new('RGB', (width * level, height * level)) print("Downloading tiles: 0/{} completed".format(level * level), end="\r") for x in range(level): for y in range(level): with urlopen( url_format.format(level, width, strftime("%Y/%m/%d/%H%M%S", latest), x, y)) as tile_w: tiledata = tile_w.read() tile = Image.open(BytesIO(tiledata)) png.paste(tile, (width * x, height * y, width * (x + 1), height * (y + 1))) print("Downloading tiles: {}/{} completed".format( x * level + y + 1, level * level), end="\r") print("\nDownloaded\n") makedirs(split(output_file)[0], exist_ok=True) png.save(output_file, "PNG") de = get_desktop_environment() if de in ["gnome", "unity", "cinnamon"]: # Because of a bug and stupid design of gsettings, see http://askubuntu.com/a/418521/388226 if de == "unity": call([ "gsettings", "set", "org.gnome.desktop.background", "draw-background", "false" ]) call([ "gsettings", "set", "org.gnome.desktop.background", "picture-uri", "file://" + output_file ]) call([ "gsettings", "set", "org.gnome.desktop.background", "picture-options", "scaled" ]) elif de == "mate": call([ "gconftool-2", "-type", "string", "-set", "/desktop/gnome/background/picture_filename", '"{}"'.format(output_file) ]) elif de == "xfce4": call([ "xfconf-query", "--channel", "xfce4-desktop", "--property", "/backdrop/screen0/monitor0/image-path", "--set", output_file ]) elif de == "lxde": call(["display", "-window", "root", output_file]) else: exit("Your desktop environment '{}' is not supported.".format(de)) print("Done!\n")
import webbrowser from calendardialog import CalendarDialog from calendarwindow import CalendarWindow from addcalendarwindow import AddCalendarWindow from eventwindow import EventWindow from googlecalendarapi import GoogleCalendar import comun from configurator import Configuration from preferences_dialog import Preferences from utils import get_desktop_environment from comun import _ DEFAULT_CURSOR = Gdk.Cursor(Gdk.CursorType.ARROW) WAIT_CURSOR = Gdk.Cursor(Gdk.CursorType.WATCH) if get_desktop_environment() == 'cinnamon': additional_components = '' else: additional_components = '#progressbar,\n' CSS = ''' window hdycolumn box list row combobox{ padding-top: 10px; padding-bottom: 10px; } #sidewidget{ padding: 10px; } window hdycolumn box list row{ background-color: #ffffff; padding: 2px 8px; margin: 0;