Example #1
0
        oldArt = db.GqlQuery("Select * from Artifact where jar_name = :1", artifact.jar_name).get()

        # update the existing one
        if oldArt:
            oldArt.artifactId = artifact.artifactId
            oldArt.groupId = artifact.groupId
            oldArt.modelVersion = artifact.modelVersion
            oldArt.version = artifact.version
            oldArt.size = artifact.size
            oldArt.md5 = artifact.md5
            oldArt.sha1 = artifact.sha1
            oldArt.mvnModified = artifact.mvnModified
            # oldArt.jar          = artifact.jar
            key = oldArt.put()

            logging.info("updating..")
        # insert the new one
        else:
            key = artifact.put()
            logging.info("inserting..")
        old_location = db.GqlQuery("Select * from Location where url = :1", entity["url"]).get()
        if not old_location:
            location = Location(name=entity["url"], url=entity["url"], repository=entity["repository"], artifact=key)
            location.put()
        if is_new:
            return jar


if __name__ == "__main__":
    bulkload.main(ArtifactLoader())
Example #2
0
def loadAirportRoute(request):
	bulkload.main(AirportRouteLoader())
	return HttpResponse ('<h1>loadAirportRoute</h1>')
        
    entity['updated'] = datetime.datetime.now()
    entity['bookmark'] = utils.bookmark_for_kind(self.kind, 'user.name', entity['updated'])    
    return entity

if __name__ == '__main__':
  bulkload.main(MetadataLoader(), 
                EntityMetadataLoader(), 
                EntityPropertyMetadataLoader(), 
                TypeInfoLoader(), 
                EnumerationLoader(), 
                EnumerationValueLoader(), 
                EntityRelationLoader(), 
                MetadataCommitLoader(),
                DeleteAllLoader(),
                UserLoader(),
                GroupLoader(),
                PermissionLoader(),
                RoleLoader(),
                RolePermissionsLoader(),
                AppLoader(),
                OrganisationLoader(),
                L10nLoader(),
                ViewDefinitionLoader(),
                ViewMapLoader(),
                DataQueryLoader(),
                SynchSubscriptionLoader(),
                ImportProfileLoader(),
                UserLocationLoader())

from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.api import datastore
from google.appengine.ext import search

class AltitudeLoader(bulkload.Loader):
  def __init__(self):
    bulkload.Loader.__init__(self, 'Altitude',
                         [('pos', int),
                          ('alt', int)
                          ])

  def HandleEntity(self, entity):
    name="P" + str(entity['pos'])
    del entity['pos']
    newent = datastore.Entity('Altitude',name=name)
    newent.update(entity)
    return newent

if __name__ == '__main__':
  bulkload.main(AltitudeLoader())
Example #5
0
from google.appengine.api import users
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.ext import search

class ExpressionLoader(bulkload.Loader):
  def __init__(self):
    # Our 'Expression' entity contains a affyid string and an expression float data
    bulkload.Loader.__init__(self, 'Expression',
                         [('affy_id',       str),
                          ('gene_symbol',   str),
                          ('entrezid',      str),
                          ('gene_name',     str),			  
                          ('evector_day0',  float),
                          ('evector_day2',  float),
                          ('evector_day4',  float),
                          ('evector_day10', float),			  
                          ('ppargox_day0',  float),
                          ('ppargox_day2',  float),
                          ('ppargox_day4',  float),
                          ('ppargox_day10', float),
                          ])

  def HandleEntity(self, entity):
    ent = search.SearchableEntity(entity)
    return ent

if __name__ == '__main__':
  bulkload.main(ExpressionLoader())
Example #6
0
from datetime import datetime
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types

class AreaLoader(bulkload.Loader):
    def __init__(self):
        bulkload.Loader.__init__(self, 'Area',
                                 [('id', int),
                                  ('name', str),
                                  ('url', datastore_types.Link),
                                  ('updated_at', lambda x: datatime.strptime(x, '%Y-%m-%d %H:%M:$S')),
                                  ('created_at', lambda x: datatime.strptime(x, '%Y-%m-%d %H:%M:$S')),
                                 ])

if __name__ == '__main__':
    bulkload.main(AreaLoader())

Example #7
0
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types

class ProfileLoader(bulkload.Loader):
  def __init__(self):
    # Loads management profiles
    bulkload.Loader.__init__(self, 'Profile',
                             [('first_Name', str),
                              ('last_Name', str),
                              ('role', str),
                              ('country', str),
                              ('state', str),
                              ('city', str),
                              ('zip_Code', str),
                              ('phone', str),
                              ('email', datastore_types.Email),
                             ])

if __name__ == '__main__':
  bulkload.main(ProfileLoader())
Example #8
0
            #TEMP removed to check performance
            #entity['country']=countryObj.key()

        del entity['country_code']
        point = entity['point']
        entity['pointLat'] = int(point.lat)
        entity['pointLon'] = int(point.lon)
        entity = search.SearchableEntity(entity)
        #required in order to retrieve more than 1000 elements
        entity['sequence_nr'] = self.sequence_nr
        self.sequence_nr = self.sequence_nr + 1

        logging.error("entity right before return %s ", entity)
        return entity

    #def HandleEntity(self, entity):
    #  event = datastore_entities.Event(entity.title)
    #  event.update(entity)
    #  creator = event['creator']
    #  if creator:
    #    contact = datastore.Query('Contact', {'title': creator}).Get(1)
    #    if not contact:
    #      contact = [datastore_entities.Contact(creator)]
    #      datastore.Put(contact[0])
    #    event['author'] = contact[0].key()
    #  return event


if __name__ == '__main__':
    bulkload.main(AirportLoader())
Example #9
0
        contract_exists = Contract.get_by_key_name(key_name)
        # if not contract_exists:
        #     logging.debug('found a new contract with reference number:'+entity['reference_number'])
        newent = datastore.Entity('Contract', name=key_name)
        newent.update(entity)
        ent = search.SearchableEntity(newent)
        #XXX setup a parent for the entity?
        
        def increment_aggregates(key, count, value):
            obj = db.get(key)
            obj.contract_count += count
            obj.contract_value += float(value)
            obj.put()
            
        if not contract_exists:
            # increment counter for the Agency 
            agency = Agency.get_or_insert(entity['agency_name'], name=entity['agency_name'])
            db.run_in_transaction(increment_aggregates, agency.key(), 1, entity['contract_value'])
        
            # increment counter for the Vendor.
            # prepend a string to avoid BadArgumentError: Names may not begin with a digit; received 1414421 Ontario Inc
            vendor_name = 'vendor '+entity['vendor_name'] 
            vendor = Vendor.get_or_insert(vendor_name, name=vendor_name)
            db.run_in_transaction(increment_aggregates, vendor.key(), 1, entity['contract_value'])
            
        sleep 1 # maybe this will solve the OverQuotaError
        return ent

if __name__ == '__main__':
    bulkload.main(ContractLoader())
Example #10
0
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types

class ProductLoader(bulkload.Loader):
  def __init__(self):
    # Loads products
    bulkload.Loader.__init__(self, 'Product',
                             [('description', str),
                              ('price', float),
                             ])

if __name__ == '__main__':
  bulkload.main(ProductLoader())
Example #11
0
"""This module enables bulk uploading of puzzle packs to swyzl."""

from google.appengine.ext import bulkload


class PackDescriptionsLoader(bulkload.Loader):
    def __init__(self):
        bulkload.Loader.__init__(self, 'PackOfPuzzles',
                                 [('index', int),
                                  ('title', str),
                                  ('thumbnail_url_part', str),
                                  ('introduction', str)])


if __name__ == '__main__':
    bulkload.main(PackDescriptionsLoader())
        #logging.info(entity['name'])
        entity = utils.handle_entity_with_name_key(entity, self.kind,
                                                   self.props)

        latitude = entity['latitude']
        longitude = entity['longitude']
        if latitude and longitude:
            hash = str(geohash.Geohash((float(longitude), float(latitude))))
            #logging.info(hash)
            entity['bbhash1'] = hash[:2]
            entity['bbhash2'] = hash[:4]
            entity['bbhash'] = hash

        entity['updated'] = datetime.datetime.now()
        entity['bookmark'] = utils.bookmark_for_kind(self.kind, 'user.name',
                                                     entity['updated'])
        return entity


if __name__ == '__main__':
    bulkload.main(MetadataLoader(), EntityMetadataLoader(),
                  EntityPropertyMetadataLoader(), TypeInfoLoader(),
                  EnumerationLoader(), EnumerationValueLoader(),
                  EntityRelationLoader(), MetadataCommitLoader(),
                  DeleteAllLoader(), UserLoader(), GroupLoader(),
                  PermissionLoader(), RoleLoader(), RolePermissionsLoader(),
                  AppLoader(), OrganisationLoader(), L10nLoader(),
                  ViewDefinitionLoader(), ViewMapLoader(), DataQueryLoader(),
                  SynchSubscriptionLoader(), ImportProfileLoader(),
                  UserLocationLoader())
Example #13
0
    del entity['_work_osis_id']
    del entity['_book_osis_id']
    return entity


class VerseLoader(bulkload.Loader):
  def __init__(self):
    bulkload.Loader.__init__(self, 'Verse',
                             [('_work_osis_id', str),
                              ('_book_osis_id', str),
                              ('_chapter_osis_id', str),
                              ('osis_id', str),
                              ('number', long),
                              ('text', str),
                              ])

  def HandleEntity(self, entity):
    work = Work.gql('WHERE osis_id = :1', entity['_work_osis_id']).fetch(1)[0]
    book = work.books.filter('osis_id =', entity['_book_osis_id']).fetch(1)[0]
    chapter = book.chapters.filter('osis_id =', entity['_chapter_osis_id']).fetch(1)[0]
    entity['chapter'] = chapter.key()
    del entity['_work_osis_id']
    del entity['_book_osis_id']
    del entity['_chapter_osis_id']
    return search.SearchableEntity(entity)


if __name__ == '__main__':
  bulkload.main(WorkLoader(), BookLoader(), ChapterLoader(), VerseLoader())

Example #14
0
      logging.error("FIPS %s is invalid" % zone.fips)
      return 0


class ZoneLoader(bulkload.Loader):
  def __init__(self):
    bulkload.Loader.__init__(self, 'Zone',
        [
          ('state', str), 
          ('zone' , str), 
          ('cwa'  , str), 
          ('name' , str), 
          ('state_zone', str), 
          ('county', str),
          ('fips' , str), 
          ('time_zone', str),
          ('fe_area', str),
          ('latitude', float),
          ('longitude', float)
          ])

  """ Not Implemented """
  def _HandleEntity(self, entity):
    logging.debug(entity)
    return None


if __name__ == '__main__':
  bulkload.main(ZoneLoader())

Example #15
0
    entity.state = get_state_by_name(entity.state) 
    return entity

def get_state_by_name(name):
    return getByName(name=name,
                     modelClass=State)

class CityLoader(bulkload.Loader):
  def __init__(self):
    bulkload.Loader.__init__(self, 'City',
                         [('name', str),
                          ('state', City.get_by_name),
                          ])

def get_city_by_name(name):
    return getByName(name=name,
                     modelClass=City)


class CountryLoader(bulkload.Loader):
  def __init__(self):
    bulkload.Loader.__init__(self, 'Country',
                         [('name', str),
                          ])

if __name__ == '__main__':
  bulkload.main(CountryLoader(),
                StateLoader(),
                CityLoader()
               )
Example #16
0
"""This module enables bulk loading of individual puzzles."""

from google.appengine.ext import bulkload


class PuzzlesLoader(bulkload.Loader):
    def __init__(self):
        bulkload.Loader.__init__(self, 'Puzzle',
                                 [('name', str),
                                  ('cipher_text', str),
                                  ('solution_text', str),
                                  ('short_clue', str),
                                  ('pack_title', str)])


if __name__ == '__main__':
    bulkload.main(PuzzlesLoader())
Example #17
0
from datetime import datetime
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from models import Area

class ShopLoader(bulkload.Loader):
    def __init__(self):
        bulkload.Loader.__init__(self, 'Shop',
                                 [('id', int),
                                  ('area', self.get_area_key),
                                  ('name', str),
                                  ('address', str),
                                  ('geo', datastore_types.GeoPt),
                                  ('extra', datastore_types.Text),
                                  ('updated_at', lambda x: datatime.strptime(x, '%Y-%m-%d %H:%M:$S')),
                                  ('created_at', lambda x: datatime.strptime(x, '%Y-%m-%d %H:%M:$S')),
                                 ])

    def get_area_key(self, name):
        area = Area.all().filter('name = ', name).get()
        if area:
            return area.key()
        else:
            return ''

if __name__ == '__main__':
    bulkload.main(ShopLoader())

Example #18
0
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.ext import search

class TramInfoLoader(bulkload.Loader):
	def __init__(self):
		bulkload.Loader.__init__(self, 'TramInfo',
													[ ('tracker_id', str), ('location', str) ])

	def HandleEntity(self, entity):
		ent = search.SearchableEntity(entity)
		return ent

if __name__ == '__main__':
	bulkload.main(TramInfoLoader())
Example #19
0
                            ('cc_ip',str),
                            ('cc_when', lambda x: datetime.datetime.strptime(x,'%Y-%m-%d %H:%M:%S') ),
                            ('usr_angle', int),
                            ('usr_speed', int),
                            ])

    def HandleEntity(self, entity):

        game = Game.get_by_key_name('Sapus Tongue')

        country = getGeoIPCode( entity['cc_ip'])

        game.nro_scores += 1
        game.put()

        query = db.Query(ScoresCountry)
        query.ancestor( game )
        query.filter('country_code =', country)
        result = query.fetch(limit=1)
        if query.count() > 0:
            rec = result[0]
            rec.quantity += 1
        else:
            rec = ScoresCountry( parent=game, game=game, country_code=country, quantity=1 )
        rec.put()

        return None

if __name__ == '__main__':
    bulkload.main(ScoreLoader())
Example #20
0
#!/usr/bin/env python
# -*- coding=utf-8 -*-

from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from gae.index import getByName

class CountryLoader(bulkload.Loader):
  def __init__(self):
    bulkload.Loader.__init__(self, 'Country',
                         [('name', str),
                          ])

if __name__ == '__main__':
  bulkload.main(CountryLoader())
Example #21
0
#!/usr/bin/env python

"""
Client for uploading books from a CSV file. Is run as follows:

bulkload_client.py 
    --filename ws/books.csv
    --kind Book 
    --url http://localhost:8080/load 
    --cookie='dev_appserver_login="******"'
"""

from google.appengine.ext import bulkload
from google.appengine.ext import search

class BookLoader(bulkload.Loader):
    "Book bulkloader"
    def __init__(self):
        "Set the expected data structure for the CSV file"
        bulkload.Loader.__init__(self, 'Book', 
            [('title', str), ('ident', str), ('url', str),])

    def HandleEntity(self, entity):
        "Make the entities searchable"
        ent = search.SearchableEntity(entity)
        return ent

if __name__ == '__main__':
    # make the script importable
    bulkload.main(BookLoader())
  --url=http://localhost:8080/load-ponto --kind=Ponto 
  --cookie "dev_appserver_login=\"[email protected]:True:185804764220139124118\""

"""
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.ext import search
from models import Ponto, Linha
import geohash


class PontoLoader(bulkload.Loader):
    def __init__(self):
        bulkload.Loader.__init__(
            self, "Ponto", [("nome", lambda x: x.decode("utf-8")), ("ordem", int), ("lat", float), ("lng", float)]
        )

    def HandleEntity(self, entity):
        linha = Linha.all().filter("nome =", entity["nome"]).fetch(1)[0]
        ponto = Ponto(ordem=entity["ordem"], linha=linha, lat=entity["lat"], lng=entity["lng"])
        pontosAnt = Ponto.all().filter("linha =", linha).filter("ordem =", ponto.ordem - 1).fetch(1)
        if pontosAnt:
            pontoAnt = pontosAnt[0]
            ponto.setNearhash(pontoAnt)
        ponto.put()
        return None


if __name__ == "__main__":
    bulkload.main(PontoLoader())
Example #23
0
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.ext import search

class GameLoader(bulkload.Loader):
  def __init__(self):
    # Our 'Game' entity contains a a lot of parameters
    bulkload.Loader.__init__(self, 'Game',
                         [
                          ('created_on', str),
                          ])

  def HandleEntity(self, entity):
    ent = search.SearchableEntity(entity)
    return ent

if __name__ == '__main__':
  bulkload.main(GameLoader())
Example #24
0
                          ('to_icao_id',str),
                          ])

  def HandleEntity(self, entity):
    logging.error ("HandleEntity %s " ,entity)
        
    to_icao_id=entity['to_icao_id']
    if to_icao_id:
        bTry=True
        while bTry:
            try:
                airportObj = models.Airport.gql("Where icao_id=:1",to_icao_id).get()
                bTry=False
            except OSError:
                logging.error("Got OS error")

        #Add the key
        entity['airport_to']=airportObj.key()
    
    del entity['to_icao_id']
    entity['sequence_nr']=self.sequence_nr
    self.sequence_nr= self.sequence_nr +1
    
    logging.error ("entity right before return %s " ,entity) 
    return entity


 
if __name__ == '__main__':
  bulkload.main(AirportRouteLoader())
Example #25
0
from datetime import datetime
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types

class StatusLoader(bulkload.Loader):
    def __init__(self):
        bulkload.Loader.__init__(self, 'Status',
                                 [('user', datastore_types.users.User),
                                  ('beer', str),
                                  ('amount', int),
                                  ('status', datastore_types.Text),
                                  ('updated_at', lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S')),
                                 ])

if __name__ == '__main__':
    bulkload.main(StatusLoader())

Example #26
0
from google.appengine.ext import bulkload
from google.appengine.ext import db
from google.appengine.api import datastore_types
from google.appengine.ext import search

import model

class EntryLoader(bulkload.Loader):
  def __init__(self):
    bulkload.Loader.__init__(self, 'FetchedEntry', [
      ('group_id', str),
      ('name', str),
      ('package', str),
      ('type', str),
    ])

  def HandleEntity(self, entity):
    group = model.Group.get(db.Key(encoded=entity['group_id']))
    name = entity['name']
    package = entity['package']
    type = entity['type']
    
    entry = model.Entry.CreateAndSave(group, name, package, type)

    return None

if __name__ == '__main__':
  bulkload.main(EntryLoader())
Example #27
0
						("urn", int),
						("local_authority_id", int),
						("local_authority_name", str),
						("estab", int),
						("school_name", str),
						("street", str),
						("locality", str),
						("address_3", str),
						("town", str),
						("county", str),
						("postcode", str),
						("telephone_std", str),
						("telephone_number", str),
						("head_title", str),
						("head_first_name", str),
						("head_last_name", str),
						("head_honours", str),
						("establishment_type", str),
						("education_phase", str),
						("statutory_lowest_age", int),
						("statutory_highest_age", int),
                          ])

  def HandleEntity(self, entity):
    ent = search.SearchableEntity(entity)
    models.increment_counter("school_total")
    return ent

if __name__ == '__main__':
  bulkload.main(SchoolLoader())
Example #28
0
após um login, e a URL para a do servidor se for o caso):

python2.5 /usr/local/bin/bulkload_client.py --filename=linhas.csv 
  --url=http://localhost:8080/load-linha --kind=Linha 
  --cookie "dev_appserver_login=\"[email protected]:True:185804764220139124118\""

"""
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.ext import search
from models import Ponto, Linha
import geohash
from google.appengine.api.datastore_types import Text

class LinhaLoader(bulkload.Loader):
    def __init__(self):
        bulkload.Loader.__init__(self, 'Linha',
                         [('nome', lambda x: x.decode('utf-8')),
                          ('url', str)])

    def HandleEntity(self, entity):
        for linha in Linha.all().filter("nome =", entity["nome"]).fetch(999):
            for ponto in linha.pontos:
                ponto.delete()
            linha.delete()
        return entity

if __name__ == '__main__':
    bulkload.main(LinhaLoader())

class ClazzLoader( bulkload.Loader ):
  def __init__( self ):    
    bulkload.Loader.__init__( self, 'Clazz',
                              [ 
                                ( 'jar_name', str ),                                                                                                
                                ( 'class_name' , str )                               
                              ] 
                            )

  def HandleEntity( self, entity ):
   #Obtain the Jar entity associated to this model   
   j_name = entity[ 'jar_name' ]   
   jar    = datastore.Query( 'Jar', { 'jar_name': j_name } ).Get( 1 )
     
   if len( jar ) > 0:       
       old_class              = datastore.Query( 'Clazz', { 'class_name': entity[ 'class_name' ] } ).Get( 1 )
       if old_class:
           logging.info("ya existe")
       else:    
           logging.info("creando")
           newent                 = datastore.Entity( 'Clazz' )
           newent[ 'jar' ]        = jar[0].key()
           newent[ 'class_name' ] = entity[ 'class_name' ]
           ent                    = search.SearchableEntity( newent )
           return ent
   else:    
       logging.error( "Failed to insert class " + entity[ 'class_name' ] + " parent jar does not exist: " + j_name )
       
if __name__ == '__main__':
  bulkload.main( ClazzLoader() )
Example #30
0
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.ext import search

class TopicLoader(bulkload.Loader):
  def __init__(self):
    bulkload.Loader.__init__(self, 'FreebaseTopic',
                         [('topic', str),
                          ('type', str),
                          ])

  def HandleEntity(self, entity):
    ent = search.SearchableEntity(entity)
    return ent

if __name__ == '__main__':
  bulkload.main(TopicLoader())
Example #31
0
from datetime import datetime
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types

class TotalAmountLoader(bulkload.Loader):
    def __init__(self):
        bulkload.Loader.__init__(self, 'TotalAmount',
                                 [('user', datastore_types.users.User),
                                  ('amount', int),
                                  ('nama_cup', int),
                                  ('nama_small', int),
                                  ('nama_middle', int),
                                  ('nama_big', int),
                                  ('kan_350', int),
                                  ('kan_500', int),
                                  ('updated_at', lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S')),
                                 ])

if __name__ == '__main__':
    bulkload.main(TotalAmountLoader())

Example #32
0
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.ext import db
from google.appengine.api import users
import datetime

class OrderLoader(bulkload.Loader):
  def __init__(self):
    # Loads orders
    bulkload.Loader.__init__(self, 'Order',
			     [('client', str),
			      ('status', str),
			      ('createdOn', lambda x: datetime.datetime.strptime(x, "%d/%m/%Y %H:%M")),
			     ])

if __name__ == '__main__':
  bulkload.main(OrderLoader())