def generate(self, rsp, user, title, text_src, tags=list(), draft=False, category=None, markup_mode=None, summary_src=None, id=None): editing = False if self.editable: if id: try: post = EditablePost.query.filter(EditablePost.id==id).one() except NoResultFound: post = EditablePost() else: editing = True else: post = EditablePost() else: post = Post() post.title = title post.text = text_src if post.title and post.text: if editing and not post.draft: post.edit_date = datetime.datetime.now() else: post.date = datetime.datetime.now() if tags == u'': tags = list() post.tags = tags post.category = category post.summary = summary_src if self.editable: post.draft = bool(draft) post.markup_mode = markup_mode post.summary_src = summary_src post.text_src = text_src post.user = user return compact('post')
def generate(self, rsp, rquery): try: report = rquery.one() except NoResultFound: raise NotFound del rquery rquery = None return compact('report', 'rquery')
def generate(self, rsp, rquery=None): rquery = _rquery(rquery) reports = rquery.all() if self.fail_if_empty and len(reports) == 0: raise NotFound del rquery # just a bit of premature optimization, for the fun of it rquery = None return compact('reports', 'rquery')
def generate(self, rsp, hdf=None, cs=None): if hdf is None: hdf = neo_util.HDF() if cs is None: cs = neo_cs.CS(hdf) logging.getLogger('modulo.templating.clearsilver').debug('loading file ' + self.filename) cs.parseFile(self.filename) return compact('hdf', 'cs')
def generate(self, rsp, query): records = query.all() try: d = self.params[self.namespace] except AttributeError: d = self.params[''] del d['query'] if self.raise_not_found and len(records) == 0: raise NotFound return compact('records')
def generate(self, rsp, hdf=None): if hdf is None: hdf = neo_util.HDF() i = 0 # something from itertools would be better here but whatever while True: if not hdf.getValue('hdf.loadpaths.' + str(i), ''): break i += 1 hdf.setValue('hdf.loadpaths.' + str(i), self.path) return compact('hdf')
def generate(self, rsp, text_src, user=None, subject=None): postlet = Postlet() postlet.text_src = postlet.text = text_src if postlet.text_src: postlet.subject = subject postlet.date = datetime.datetime.now() postlet.user = user return compact('postlet') else: postlet.delete()
def generate(self, rsp, text_src, parent_id, user=None, subject=None): comment = Comment() comment.text_src = comment.text = text_src if comment.text_src: comment.subject = subject comment.date = datetime.datetime.now() comment.parent = BaseComment.query.filter(BaseComment.id==parent_id).one() comment.user = user return compact('comment') else: comment.delete()
def generate(self, rsp, query): try: record = query.one() except NoResultFound: raise NotFound finally: try: d = self.params[self.namespace] except AttributeError: d = self.params[''] del d['query'] return compact('record')
def generate(self, rsp, user, title, category, text, tags=list()): report = Report() report.title = title report.text = text if report.title and report.text: report.date = datetime.datetime.now() if tags == u'': tags = list() report.tags = tags report.category = category report.status = 'NEW' report.user = user return compact('report')
def generate(self, rsp): xml_request = self.req.read() try: (source_uri, target_uri), method = xmlrpclib.loads(xml_request) except ExpatError: raise BadRequest('Expecting XML-RPC request') if method != 'pingback.ping': return {'fault': Fault(-32601, 'Method %s not supported' % method)} linkback = Linkback() linkback.local_host = self.req.host linkback.local_uri = urlparse.urlsplit(canonicalize(target_uri)).path linkback.remote_url = source_uri return compact('linkback')
def generate(self, rsp): files_to_save = ((make_file(upload.filename), upload) for name, upload in self.req.files.iteritems() if upload.filename) uploads = [] for (file_obj, subdir, name, path), upload in files_to_save: try: upload.save(file_obj) except (IOError,OSError): logging.getLogger('modulo.addons.upload').exception('Error saving uploaded file to ' + path) continue else: uploads.append(Upload(mime_type=upload.content_type, group=subdir, filename=name, path=path)) finally: file_obj.close() return compact('uploads')
def generate(self, rsp, canonical_uri, url=None, title=None, excerpt=None, blog_name=None): linkback = Linkback() linkback.local_uri = canonical_uri linkback.remote_url = url if not linkback.local_uri: linkback_error = 'No target URL specified' elif not linkback.remote_url: linkback_error = 'No linking URL specified' elif self.req.method != 'POST': linkback_error = 'HTTP POST method not used' else: linkback.local_host = self.req.host linkback.remote_title = title linkback.remote_excerpt = excerpt linkback.remote_name = blog_name return compact('linkback')
def generate(self, rsp, query, model, page=None, page_size=None): if page_size is None: page_size = self.page_size if page is None: page = 1 else: page = int(page) logging.getLogger('modulo.addons.publish').debug('Displaying page ' + str(page)) count = query.count() pages = max(0, count - 1) // page_size + 1 # this is ceil(post_count / page_size) query = query.offset((page - 1) * page_size).limit(page_size) d = compact('query', 'page_size', 'page', 'pages', 'count') if page < pages: d['page_next'] = page + 1 if page > 1: d['page_prev'] = page - 1 return d
def generate(self, rsp, hdf=None): if hdf is None: hdf = neo_util.HDF() logging.getLogger('modulo.templating.clearsilver').debug('loading file ' + self.filename) hdf.readFile(self.filename) return compact('hdf')