def __call__(self, environ, start_response): reqparams = {} for key, value in parse_qs(environ['QUERY_STRING'], True).items(): reqparams[key.lower()] = value[0] onlineresource = 'http://%s:%s%s?' % (environ['SERVER_NAME'], environ['SERVER_PORT'], environ['PATH_INFO']) try: if not reqparams.has_key('request'): raise OGCException('Missing request parameter.') request = reqparams['request'] del reqparams['request'] if request == 'GetCapabilities' and not reqparams.has_key( 'service'): raise OGCException('Missing service parameter.') if request in ['GetMap', 'GetFeatureInfo']: service = 'WMS' else: service = reqparams['service'] if reqparams.has_key('service'): del reqparams['service'] try: mapnikmodule = __import__('mapnik2.ogcserver.' + service) except: raise OGCException('Unsupported service "%s".' % service) ServiceHandlerFactory = getattr(mapnikmodule.ogcserver, service).ServiceHandlerFactory servicehandler = ServiceHandlerFactory( self.conf, self.mapfactory, onlineresource, reqparams.get('version', None)) if reqparams.has_key('version'): del reqparams['version'] if request not in servicehandler.SERVICE_PARAMS.keys(): raise OGCException('Operation "%s" not supported.' % request, 'OperationNotSupported') ogcparams = servicehandler.processParameters(request, reqparams) try: requesthandler = getattr(servicehandler, request) except: raise OGCException('Operation "%s" not supported.' % request, 'OperationNotSupported') response = requesthandler(ogcparams) except: version = reqparams.get('version', None) if not version: version = Version('1.3.0') else: version = Version(version) if version >= '1.3.0': eh = ExceptionHandler130(self.debug) else: eh = ExceptionHandler111(self.debug) response = eh.getresponse(reqparams) response_headers = [('Content-Type', response.content_type), ('Content-Length', str(len(response.content)))] if self.max_age: response_headers.append(('Cache-Control', max_age)) start_response('200 OK', response_headers) yield response.content
def ServiceHandlerFactory(conf, mapfactory, onlineresource, version): if not version: version = Version('1.3.0') else: version = Version(version) if version >= '1.3.0': return ServiceHandler130(conf, mapfactory, onlineresource) else: return ServiceHandler111(conf, mapfactory, onlineresource)
def traceback(self, req): reqparams = lowerparams(req.params) version = reqparams.get('version', None) if not version: version = Version('1.3.0') else: version = Version(version) if version >= '1.3.0': eh = ExceptionHandler130(self.debug) else: eh = ExceptionHandler111(self.debug) response = eh.getresponse(reqparams) req.set_header('Content-Type', response.content_type) req.write(response.content)
def get_packal_workflows(): """Return list of workflows available on Packal.org""" workflows = [] r = web.get(MANIFEST_URL) r.raise_for_status() manifest = ET.fromstring(r.content) # these elements contain multiple, |||-delimited items list_elements = ('categories', 'tags', 'osx') for workflow in manifest: d = {} for elem in workflow: if elem.tag in list_elements: if not elem.text: d[elem.tag] = [] else: d[elem.tag] = [s.strip() for s in elem.text.split('|||')] # text elements elif elem.text: d[elem.tag] = elem.text else: d[elem.tag] = '' # convert timestamp to datetime d['updated'] = datetime.fromtimestamp(float(d['updated'])) d['version'] = Version(d['version']) workflows.append(d) log.debug('{} workflows available on Packal.org'.format(len(workflows))) return workflows
def versions_from_targets(phab, targets): builds = get_builds_from_targets(phab, targets) buildables = get_buildables_from_builds(phab, builds) diffs = get_diffs_from_buildables(phab, buildables) return [ Version(target.id, target.phid, diff.id, diff.branch, diff.base) for target, diff in zip(targets, diffs) ]
def traceback(self, apacheReq, E): reqparams = lowerparams(util.FieldStorage(apacheReq)) version = reqparams.get('version', None) if not version: version = Version('1.3.0') else: version = Version(version) if version >= '1.3.0': eh = ExceptionHandler130(self.debug) else: eh = ExceptionHandler111(self.debug) response = eh.getresponse(reqparams) apacheReq.content_type = response.content_type apacheReq.headers_out.add('Content-Length', str(len(response.content))) apacheReq.send_http_header() apacheReq.write(response.content) return apache.OK
def packal_metadata(xmlpath): """Return ``dict`` of metadata in ``package.xml`` file created by Packal""" tree = ET.parse(xmlpath) root = tree.getroot() data = {} for elem in root: data[elem.tag] = elem.text data['version'] = Version(data['version']) return data
def get_version_from_git_config(git_config): config = configparser.ConfigParser() config.read(git_config) base = config.get('phabricator', option='base') branch = config.get('phabricator', option='branch') diff = config.get('phabricator', option='diff') target = config.get('phabricator', option='target') targetPHID = config.get('phabricator', option='targetphid') return Version(target, targetPHID, diff, branch, base)
def __init__(self, dbcfgs_json): self.dbcfgs = json.loads(dbcfgs_json) self.version = Version()
def __init__(self, dbcfgs): self.CPUINFO = cmd_output('cat /proc/cpuinfo') self.MEMINFO = cmd_output('cat /proc/meminfo') self.SYSCTLINFO = cmd_output('sysctl -a') self.version = Version() self.dbcfgs = dbcfgs