예제 #1
0
파일: main.py 프로젝트: Hugoagogo/openTrack
def GetTracker(key):
    """Get a tracker, or create one if it dosent exist"""
    tracker = Tracker.all().filter('name =',key).get()
    if tracker==None:
        tracker = Tracker(name=key)
        tracker.put()
    return tracker
예제 #2
0
파일: main.py 프로젝트: Hugoagogo/openTrack
    def get(self):
        if os.environ.get('HTTP_HOST'):
            url = os.environ['HTTP_HOST']
        else:
            url = os.environ['SERVER_NAME']

        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write(
"""OpenTrack\n
Extreamly Basic tracking system, for use with p2p programs

To use the tracker visit

http://%s/trk/<tracker name>

The tracker does not need to be setup beforhand
It will return a list of IP adresses that have visited
that tracker and add yours to the list

Optionally add "?tick=<seconds>" to the url where seconds
is how recently it has been visited the default tick is 60 seconds

NEW: http://%s/tick/<tracker name>
provides a way of refreshing yourself in a tracker without retrieveing a list
 
\nCurrent Trackers (activity last 24 hours)\n"""%(url,url))
        trackers = Tracker.all()
        for tracker in trackers:
            self.response.out.write(" - %s\n"%tracker.name)
예제 #3
0
파일: main.py 프로젝트: Hugoagogo/openTrack
    def get(self):
        ## remove any old peers
        plist = Peer.all().filter('datetime <',datetime.now() - timedelta(days=1))
        peercount = plist.count()
        for p in plist:
            p.delete()

        ## remove any empty trackers
        trackers = Tracker.all()
        trackercount = 0
        for tracker in trackers:
            p = Peer.all().filter('tracker =',tracker).order('-datetime').get()
            if p == None:
                tracker.delete()
                trackercount += 1

        ## some simple stats
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write("Cleaned %d trackers and %d peers"%(trackercount,peercount))
        if trackercount and peercount:
            logging.info("Cleaned %d trackers and %d peers"%(trackercount,peercount))