コード例 #1
0
    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!")
コード例 #2
0
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!")
コード例 #3
0
ファイル: himawaripy.py プロジェクト: rbong/himawaripy
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")
コード例 #4
0
ファイル: himawaripy.py プロジェクト: tobsn/himawaripy
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")
コード例 #5
0
    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!")
コード例 #6
0
ファイル: himawaripy.py プロジェクト: yupyupp/himawaripy
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")
コード例 #7
0
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()))
コード例 #8
0
ファイル: himawaripy.py プロジェクト: sgnn7/himawaripy
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")
コード例 #9
0
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")
コード例 #10
0
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;