예제 #1
0
def preferences():
  """
  Add new url, group
  Remove existed urls
  """
  passcode = request.cookies.get('passcode')
  if passcode != settings.passcode:
    return render_template('enter_passcode.html')
  
  action = request.args.get('action')  
  url = request.args.get('url')
  hostname = request.args.get('hostname')
  
  if action == 'remove':
    state = api.remove_url(url)
    if state is True:
      return md5(url).hexdigest()
    else:
      return ''
  elif action == 'add':
    state = api.add_url(url, hostname)
    if state is True:
      return dumps({"id": md5(url).hexdigest(),
                    "url": url,
                    "hostname": hostname})
    else:
      return ''
  else:
    urls = api.get_urls_and_hostname()
    urls.reverse()
    return render_template('preferences.html', urls=urls)
예제 #2
0
def preferences():
    """
  Add new url, group
  Remove existed urls
  """
    passcode = request.cookies.get('passcode')
    if passcode != settings.passcode:
        return render_template('enter_passcode.html')

    action = request.args.get('action')
    url = request.args.get('url')
    hostname = request.args.get('hostname')

    if action == 'remove':
        state = api.remove_url(url)
        if state is True:
            return md5(url).hexdigest()
        else:
            return ''
    elif action == 'add':
        state = api.add_url(url, hostname)
        if state is True:
            return dumps({
                "id": md5(url).hexdigest(),
                "url": url,
                "hostname": hostname
            })
        else:
            return ''
    else:
        urls = api.get_urls_and_hostname()
        urls.reverse()
        return render_template('preferences.html', urls=urls)
예제 #3
0
def main():
    offset = request.args.get('offset', 30 * 60)
    offset = int(offset)
    url = request.args.get('url')
    domain = request.args.get('domain')
    skip = request.args.get('skip', 10)
    if url:
        urls = [api.get_info(url)]
        domains = [url.lstrip('http://').split('/')[0].split(':')[0]]
    elif domain:
        domains = [domain]
        urls = [
            info for info in api.get_urls_and_hostname()
            if domain in info.get('url')
        ]
    else:
        urls = api.get_urls_and_hostname()
        domains = [
            info.get('url').lstrip('http://').split('/')[0].split(':')[0]
            for info in urls
        ]

        # remove port from domain if domain is ip
        domains = [
            i if ':' not in i else i.split(':')[0] for i in domains if i
        ]

        domains = list(set(domains))
        domains.sort()

        # only display 1 url per domain
        short_list = []
        for domain in domains:
            for info in urls:
                if domain in info.get('url'):
                    short_list.append(info)
                    break
        urls = short_list
    return render_template('home.html',
                           urls=urls,
                           domains=domains,
                           offset=offset,
                           skip=skip)
예제 #4
0
def main():
  offset = request.args.get('offset', 30 * 60)
  offset = int(offset)
  url = request.args.get('url')
  domain = request.args.get('domain')
  skip = request.args.get('skip', 10)
  if url:
    urls = [api.get_info(url)]
    domains = [url.lstrip('http://').split('/')[0].split(':')[0]]
  elif domain:
    domains = [domain]
    urls = [info for info in api.get_urls_and_hostname() if domain in info.get('url')]
  else:
    urls = api.get_urls_and_hostname()
    domains = [info.get('url').lstrip('http://').split('/')[0].split(':')[0] for info in urls]
    
    
    # remove port from domain if domain is ip
    domains = [i if ':' not in i else i.split(':')[0] for i in domains if i]
    
    domains = list(set(domains))
    domains.sort()
    
    # only display 1 url per domain
    short_list = []
    for domain in domains:
      for info in urls:
        if domain in info.get('url'):
          short_list.append(info)
          break
    urls = short_list
  return render_template('home.html', 
                         urls=urls, 
                         domains=domains, 
                         offset=offset,
                         skip=skip)
예제 #5
0
#! coding: utf-8
# pylint: disable-msg=W0311
import sys
import os
import api
import worker
import settings
from time import time, sleep

plugins_dir = os.path.dirname(__file__)
src_dir = os.path.dirname(plugins_dir)
sys.path.append(src_dir)


if __name__ == '__main__':
  while True:
    ts = int(time())
    if ts % settings.step_size == 0:
      urls = api.get_urls_and_hostname()
      for info in urls:
        url = info.get('url')
        hostname = info.get('hostname')
        
        ts += settings.step_size
        worker.LOG.debug('Sent to queue: %s - %s' % (ts, url))
        print '[%s] %s' % (ts, url)
        if hostname:
          worker.QUEUE.put('%s|%s|%s' % (ts, url, hostname))
        else:
          worker.QUEUE.put('%s|%s|' % (ts, url))
    sleep(1)
예제 #6
0
#! coding: utf-8
# pylint: disable-msg=W0311
import sys
import os
import api
import worker
import settings
from time import time, sleep

plugins_dir = os.path.dirname(__file__)
src_dir = os.path.dirname(plugins_dir)
sys.path.append(src_dir)

if __name__ == '__main__':
    while True:
        ts = int(time())
        if ts % settings.step_size == 0:
            urls = api.get_urls_and_hostname()
            for info in urls:
                url = info.get('url')
                hostname = info.get('hostname')

                ts += settings.step_size
                worker.LOG.debug('Sent to queue: %s - %s' % (ts, url))
                print '[%s] %s' % (ts, url)
                if hostname:
                    worker.QUEUE.put('%s|%s|%s' % (ts, url, hostname))
                else:
                    worker.QUEUE.put('%s|%s|' % (ts, url))
        sleep(1)