Exemplo n.º 1
0
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
'''
from apscheduler.scheduler import Scheduler
from datetime import datetime
from sync import SyncAPI
from api import localService()
import signal
slow = Scheduler()
fast = Scheduler()
sync = SyncAPI()
api = localService()

global matches = []

@slow.cron_schedule(day_of_week='mon-sun', hour=22, minute=02)
def checkForUpdates():
  # If there is an update, sync everything
  print "Checking for updates"

@fast.interval_schedule(seconds=60)
def updateMatches():
  ''' Simple function run locally often. It first checks if there are
      matches in progress. If there are, for each match in progress, this
      function calls the syncMatch method from sync.SyncAPI to update it.
  '''
  mip = api.getMatchesInProgressNow()
Exemplo n.º 2
0
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
'''
import os,Queue,threading,urllib2,tempfile,shutil
try:
  import Image
except ImportError:
  raise ImportError,\
    'PIL is needed to create the sprites. Install python-imaging'
from api import localService
localService = localService()
queue = Queue.Queue()

class ThreadUrl(threading.Thread):
  def __init__(self, queue):
    ''' This class is based on an example from
    http://samratjp.posterous.com/a-multi-threaded-python-script-for-downloadin
    '''
    threading.Thread.__init__(self)
    self.queue = queue
     
  def run(self):
    try:
      while True:
        team = self.queue.get()
        url = urllib2.urlopen(team['iconURL'])