Пример #1
0
	def quick_upload(self):
		import os.path
		ckedit_num = request.GET.get('CKEditorFuncNum')
		message = None
		filepath = 'null'
		try:
			item = Upload.quick(request.POST.mixed())
			item.add_author_or_contributor(user_from_session(session))
			item.save()
			static_web_path = config['static_web_path']
			filepath = os.path.join(static_web_path,item.filepath)
		except FileExistsError, ex:
			message = "Sorry. Could not upload file with that name."
			filepath = ex
Пример #2
0
	def _update(self, item, format):
		if format == 'json':
			from columns.lib import json
			params = self._validate(json.loads(request.body), UpdateUpload, 'edit')
		#elif format == 'atom':
		#	from lxml import etree
		#	params = Upload.parse_xml(etree.fromstring(request.body))
		elif format == 'html':
			params = self._validate(request.POST.mixed(), UpdateUpload, 'edit')
		else:
			raise UnacceptedFormat(format)
		
		item.update_from_dict(params)
		item.add_author_or_contributor(user_from_session(session))
		item.save()
		return item
Пример #3
0
	def _create(self, format, parent_id=None):
		#if format == 'json':
		#	from columns.lib import json
		#	params = self._validate(json.loads(request.body), CreateUpload, 'new')
		#elif format == 'atom':
		#	from lxml import etree
		#	params = Upload.parse_xml(etree.fromstring(request.body))
		if format == 'html':
			params = self._validate(request.POST.mixed(), CreateUpload, 'new')
		else:
			raise UnacceptedFormat(format)
		
		item = Upload.from_dict(params)
		item.add_author_or_contributor(user_from_session(session))
		item.save()
		return item
Пример #4
0
	def _create(self, format, parent_id=None):
		if format == 'json':
			params = self._validate(json.loads(request.body), CreateArticle, 'new')
		#elif format == 'atom':
		#	from lxml import etree
		#	params = Article.parse_xml(etree.fromstring(request.body))
		elif format == 'html':
			params = self._validate(request.POST.mixed(), CreateArticle, 'new')
		else:
			raise UnacceptedFormat(format)
		
		item = Article.from_dict(params, default_thumb=app_globals.settings(u'default_thumb',u'blog'))
		item.add_author_or_contributor(user_from_session(session))
		if item.published is not None:
			item.atom_id = atom.get_tag_uri(url("story", permalink=str(item.permalink), qualified=True), item.published, item.title)
		item.save()
		app_globals.clear_get_cached_article_from_id()
		app_globals.clear_get_article_from_permalink()
		return item
Пример #5
0
	def _update(self, item, format):
		if format == 'json':
			params = self._validate(json.loads(request.body), UpdateComment, 'edit')
		#elif format == 'atom':
		#	from lxml import etree
		#	params = Comment.parse_xml(etree.fromstring(request.body))
		elif format == 'html':
			params = self._validate(request.POST.mixed(), UpdateComment, 'edit')
		else:
			raise UnacceptedFormat(format)
		
		already_published = item.published is not None
		item.update_from_dict(params)
		item.add_author_or_contributor(user_from_session(session))
		# All comments are published. This is unnessecary
		#if not already_published and item.published is not None:
		#	permalink = atom.slugify('-'.join([item.published.strftime("%Y-%m-%dT%H-%M-%S"),item.author['name']]))
		#	story_permalink = Article.get_from_id(item.article_id).permalink
		#	story_url = url('story',permalink=story_permalink)
		#	item.atom_id = atom.get_tag_uri(story_url,item.published,item.author['name'])
		item.save()
		app_globals.clear_count_comments()
		return item
Пример #6
0
	def _create(self, format, parent_id=None):
		if format == 'json':
			params = self._validate(json.loads(request.body), CreateComment, 'new')
		#elif format == 'atom':
		#	from lxml import etree
		#	params = Comment.parse_xml(etree.fromstring(request.body))
		elif format == 'html':
			params = self._validate(request.POST.mixed(), CreateComment, 'new')
		else:
			raise UnacceptedFormat(format)
		
		params['parent'] = parent_id
		item = Comment.from_dict(params)
		item.add_author_or_contributor(user_from_session(session))
		if item.published is not None:
			user_id = item.author['name'] or str(session['user_id'])
			permalink = atom.slugify('-'.join([item.published.strftime("%Y-%m-%dT%H-%M-%S"),user_id]))
			story_permalink = meta.Session.query(Article).get(int(parent_id)).permalink
			story_url = url('story',permalink=story_permalink)
			item.atom_id = atom.get_tag_uri(story_url,item.published,user_id)
		item.save()
		app_globals.clear_count_comments()
		return item
Пример #7
0
	def test_user_from_session(self):
		self.assertEquals(user_from_session({'user_id':1,'user_name':'test','uri':None}),{'id':1,'name':'test','uri':None,'email':None})