示例#1
0
# gigkeeper
# Copyright (C) 2008 gigkeeper
#
# $Id$
#

from modu.persist import storable
from modu.util import OrderedDict as odict

URL_TYPES = odict([
	('homepage',	'Homepage'),
	('myspace',		'MySpace'),
	('facebook',	'Facebook'),
])

class URL(storable.Storable):
	def __init__(self):
		super(URL, self).__init__('url')
示例#2
0
# gigkeeper
# Copyright (C) 2008 gigkeeper
#
# $Id$
#

from modu.persist import storable, sql
from modu.util import OrderedDict as odict

from gigkeeper.model import ModelURLMixin, media, company, address

EVENT_TYPES = odict([
	('performance',		'Performance'),
])

def get_upcoming_events(store):
	store.ensure_factory('event', model_class=Event)
	events = store.load('event', scheduled_date=sql.RAW('%s > CURDATE()'), __order_by='scheduled_date')
	return events or []

def get_prior_events(store):
	store.ensure_factory('event', model_class=Event)
	events = store.load('event', scheduled_date=sql.RAW('%s < CURDATE()'), __order_by='scheduled_date DESC')
	return events or []

class Event(storable.Storable, ModelURLMixin):
	def __init__(self):
		super(Event, self).__init__('event')
	
	def get_standardized_title(self):
		venue = self.get_venue()
示例#3
0
# gigkeeper
# Copyright (C) 2008 gigkeeper
#
# $Id$
#

import os

from modu.util import OrderedDict as odict

extension_map = odict([
	('.jpg'		, ('image', 'jpeg', 'master')),
	('.png'		, ('image', 'png', 'master')),
	('.mp3'		, ('audio', 'mp3', 'streaming')),
])

def get_checksum(filepath, md5_path='md5sum'):
	handle = os.popen(md5_path + ' "' + filepath.replace(r';', r'\;') + '"')
	filehash = handle.read()
	handle.close()
	
	if(filehash.find('=') == -1):
		filehash = [output.strip() for output in filehash.split(' ')][0]
	else:
		filehash = [output.strip() for output in filehash.split('=')][1]
	
	return filehash

def get_media_details(filename):
	media_type, format, quality = ('', '', '')
	for ext, settings in extension_map.items():
示例#4
0
# gigkeeper
# Copyright (C) 2008 gigkeeper
#
# $Id$
#

from modu.persist import storable
from modu.util import OrderedDict as odict

ADDRESS_TYPES = odict([("home", "Home"), ("work", "Work")])


class Address(storable.Storable):
    def __init__(self):
        super(Address, self).__init__("address")

    def as_string(self):
        components = []
        components.append(self.name)
        components.append(self.address1)
        if self.address2:
            components.append(self.address2)
        components.append(self.city)
        components.append(self.region + "   " + self.zip + "   " + self.country)
        return ", ".join(components)
示例#5
0
# gigkeeper
# Copyright (C) 2008 gigkeeper
#
# $Id$
#

import re

from modu.persist import storable
from modu.util import OrderedDict as odict

NOTE_TYPES = odict([
	('booking',		'Booking Info'),
	('review',		'Review'),
	('backline',	'Backline Info'),
])

class Note(storable.Storable):
	def __init__(self):
		super(Note, self).__init__('note')
	
	def summarize(self, length=200):
		untagged = re.sub(r'<[^>]*?>', '', self.description)
		words = untagged.split()
		return ' '.join(words[:length])
示例#6
0
# gigkeeper
# Copyright (C) 2008 gigkeeper
#
# $Id$
#

from modu.persist import storable
from modu.util import OrderedDict as odict

HISTORY_TYPES = odict([
	('phone',		'Phone Call'),
	('email',		'Email'),
	('in_person',	'In Person'),
])

class History(storable.Storable):
	def __init__(self):
		super(History, self).__init__('history')
示例#7
0
# gigkeeper
# Copyright (C) 2008 gigkeeper
#
# $Id$
#

from modu.persist import storable
from modu.util import OrderedDict as odict

from gigkeeper.model import address

COMPANY_TYPES = odict([
	('venue',	'venue'),
	('agency',	'agency'),
	('artist',	'artist'),
])

def find_venue(store, details):
	pass

class Company(storable.Storable):
	def __init__(self):
		super(Company, self).__init__('company')
	
	def get_address(self):
		store = self.get_store()
		store.ensure_factory('address', address.Address)
		return store.load_one('address', item_table='company', item_id=self.get_id())