Beispiel #1
0
def download_button_event(widget = None, event = None, data = None):
  """Download"""

  url = URL_ENTRY.get_text()
  try:
    url, length = downloader.createDownload(url, None)
  except IOError:
    md = gtk.MessageDialog(
      WINDOW,
      gtk.DIALOG_MODAL,
      gtk.MESSAGE_ERROR,
      gtk.BUTTONS_OK,
      "Error retrieving url"
    )
    md.run()
    md.destroy()

    return

  fs = FileSelectionDialog("Save", url.url.split("/")[-1])
  if fs.state != FileSelectionDialog.OK:
    return

  outstream = None
  try:
    outstream = open(fs.get_filename(), "wb")
  except Exception as e:
    md = gtk.MessageDialog(
      WINDOW,
      gtk.DIALOG_MODAL,
      gtk.MESSAGE_ERROR,
      gtk.BUTTONS_OK,
      "Error reading %s" % (fs.get_filename())
    )
    md.run()
    md.destroy()

    return

  pd = ProgressDialog(
    "Downloading",
    WINDOW,
    url,
    outstream,
    outstream.name.split(os.sep)[-1],
    length
  )

  if pd.state == ProgressDialog.CANCEL:
    return
  elif pd.state == ProgressDialog.FAILURE:
    md = gtk.MessageDialog(
      WINDOW,
      gtk.DIALOG_MODAL,
      gtk.MESSAGE_ERROR,
      gtk.BUTTONS_OK,
      e
    )
    md.run()
    md.destroy()
Beispiel #2
0
def main():
  global PAGE_URL
  global SEARCH_STRING
  global MEDIA_PLAYER
  global SONG
  global SOFTWARE_URL

  hasUpdated = False
  includesFF2 = False
  firstHash = None
  currentHash = firstHash

  hasher = Adler32()

  while (not hasUpdated) or (not includesFF2):
    time.sleep(1) # seconds

    try:
      message("checking page")

      down = downloader.createDownload(PAGE_URL)
      instream = down[0]
      outstream = open(os.getcwd() + os.sep + down[1], "wb")

      line = instream.readline()
      includesFF2 = False

      while line != "":
        if SEARCH_STRING in line:
          includesFF2 = True

        hasher.update(line)
        outstream.write(line)
        line = instream.readline()

      instream.close()
      outstream.close()

      if firstHash is None:
        currentHash = firstHash = hasher.formatDigest()
        message("first hash: " + firstHash)
      else:
        currentHash = hasher.formatDigest()

      hasher.reset()

      if not includesFF2:
        message("proxy page")
      else:
        hasUpdated = (firstHash != currentHash)

        if not hasUpdated:
          message("static")
    except IOError, e:
      message("connection error")
    except Exception, e:
      message(e)
Beispiel #3
0
def main():
    global PAGE_URL
    global SEARCH_STRING
    global MEDIA_PLAYER
    global SONG

    hasUpdated = False
    firstHash = None
    currentHash = firstHash

    hasher = Adler32()

    while (not hasUpdated):
        time.sleep(1)  # sec

        try:
            message('checking page')

            down = downloader.createDownload(PAGE_URL)
            instream = down[0]
            outstream = open(os.getcwd() + os.sep + down[1], 'wb')

            line = instream.readline()
            while line != '':
                if SEARCH_STRING in line:
                    break
                hasher.update(line)
                outstream.write(line)
                line = instream.readline()
            instream.close()
            outstream.close()

            if firstHash is None:
                currentHash = firstHash = hasher.formatDigest()
                message('first hash: ' + firstHash)
            else:
                currentHash = hasher.formatDigest()

            hasher.reset()

            hasUpdated = (firstHash != currentHash)
            if not hasUpdated:
                message('static')
        except IOError:
            message('connection error')
        except Exception as e:
            message(e)

    message('detected update')
    message('alerting')

    os.popen(MEDIA_PLAYER + ' \'' + os.getcwd() + os.sep + SONG + '\'')

    message('alerted')
Beispiel #4
0
def main():
    global PAGE_URL
    global SEARCH_STRING
    global MEDIA_PLAYER
    global SONG

    hasUpdated = False
    firstHash = None
    currentHash = firstHash

    hasher = Adler32()

    while not hasUpdated:
        time.sleep(1)  # sec

        try:
            message("checking page")

            down = downloader.createDownload(PAGE_URL)
            instream = down[0]
            outstream = open(os.getcwd() + os.sep + down[1], "wb")

            line = instream.readline()
            while line != "":
                if SEARCH_STRING in line:
                    break
                hasher.update(line)
                outstream.write(line)
                line = instream.readline()
            instream.close()
            outstream.close()

            if firstHash is None:
                currentHash = firstHash = hasher.formatDigest()
                message("first hash: " + firstHash)
            else:
                currentHash = hasher.formatDigest()

            hasher.reset()

            hasUpdated = firstHash != currentHash
            if not hasUpdated:
                message("static")
        except IOError:
            message("connection error")
        except Exception as e:
            message(e)

    message("detected update")
    message("alerting")

    os.popen(MEDIA_PLAYER + " '" + os.getcwd() + os.sep + SONG + "'")

    message("alerted")
Beispiel #5
0
def main():
    global PAGE_URL
    global SEARCH_STRING
    global MEDIA_PLAYER
    global SONG

    hasUpdated = False
    firstHash = None
    currentHash = firstHash

    hasher = Adler32()

    while (not hasUpdated):
        time.sleep(1)  # seconds

        try:
            message("checking page")

            down = downloader.createDownload(PAGE_URL)
            instream = down[0]
            outstream = open(os.getcwd() + os.sep + down[1], "wb")

            line = instream.readline()
            while line != "":
                if SEARCH_STRING in line:
                    break
                hasher.update(line)
                outstream.write(line)
                line = instream.readline()
            instream.close()
            outstream.close()

            if firstHash == None:
                currentHash = firstHash = hasher.formatDigest()
                message("first hash: " + firstHash)
            else:
                currentHash = hasher.formatDigest()

            hasher.reset()

            hasUpdated = (firstHash != currentHash)
            if not hasUpdated:
                message("static")
        except IOError, e:
            message("connection error")
        except Exception, e:
            message(e)
Beispiel #6
0
def download_button_event(widget=None, event=None, data=None):
    '''Download'''

    url = URL_ENTRY.get_text()
    try:
        url, length = downloader.createDownload(url, None)
    except IOError:
        md = gtk.MessageDialog(WINDOW, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR,
                               gtk.BUTTONS_OK, 'Error retrieving url')
        md.run()
        md.destroy()

        return

    fs = FileSelectionDialog('Save', url.url.split('/')[-1])
    if fs.state != FileSelectionDialog.OK:
        return

    outstream = None
    try:
        outstream = open(fs.get_filename(), 'wb')
    except Exception as e:
        md = gtk.MessageDialog(WINDOW, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR,
                               gtk.BUTTONS_OK,
                               'Error reading %s' % (fs.get_filename()))
        md.run()
        md.destroy()

        return

    pd = ProgressDialog('Downloading', WINDOW, url, outstream,
                        outstream.name.split(os.sep)[-1], length)

    if pd.state == ProgressDialog.CANCEL:
        return
    elif pd.state == ProgressDialog.FAILURE:
        md = gtk.MessageDialog(WINDOW, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR,
                               gtk.BUTTONS_OK, e)
        md.run()
        md.destroy()
Beispiel #7
0
      else:
        hasUpdated = (firstHash != currentHash)

        if not hasUpdated:
          message("static")
    except IOError, e:
      message("connection error")
    except Exception, e:
      message(e)

  message("detected update")
  message("alerting")

  os.popen(MEDIA_PLAYER + " \"" + os.getcwd() + os.sep + SONG + "\"")

  message("alerted")
  message("downloading")

  try:
    down = downloader.createDownload(SOFTWARE_URL)
    instream = down[0]
    outstream = open(os.getcwd() + os.sep + down[1], "wb")
    downloader.download(instream, outstream)

    message("downloaded")
  except:
    message("could not download")

if __name__ == "__main__":
  main()
Beispiel #8
0
def main():
    global PAGE_URL
    global SEARCH_STRING
    global MEDIA_PLAYER
    global SONG
    global SOFTWARE_URL

    hasUpdated = False
    includesFF2 = False
    firstHash = None
    currentHash = firstHash

    hasher = Adler32()

    while (not hasUpdated) or (not includesFF2):
        time.sleep(1)  # sec

        try:
            message('checking page')

            down = downloader.createDownload(PAGE_URL)
            instream = down[0]
            outstream = open(os.getcwd() + os.sep + down[1], 'wb')

            line = instream.readline()
            includesFF2 = False

            while line != '':
                if SEARCH_STRING in line:
                    includesFF2 = True

                hasher.update(line)
                outstream.write(line)
                line = instream.readline()

            instream.close()
            outstream.close()

            if firstHash is None:
                currentHash = firstHash = hasher.formatDigest()
                message('first hash: ' + firstHash)
            else:
                currentHash = hasher.formatDigest()

            hasher.reset()

            if not includesFF2:
                message('proxy page')
            else:
                hasUpdated = (firstHash != currentHash)

                if not hasUpdated:
                    message('static')
        except IOError:
            message('connection error')
        except Exception as e:
            message(e)

    message('detected update')
    message('alerting')

    os.popen(MEDIA_PLAYER + ' \'' + os.getcwd() + os.sep + SONG + '\'')

    message('alerted')
    message('downloading')

    try:
        down = downloader.createDownload(SOFTWARE_URL)
        instream = down[0]
        outstream = open(os.getcwd() + os.sep + down[1], 'wb')
        downloader.download(instream, outstream)

        message('downloaded')
    except:
        message('could not download')