本文整理汇总了Python中django.contrib.comments.models.Comment.object_pk方法的典型用法代码示例。如果您正苦于以下问题:Python Comment.object_pk方法的具体用法?Python Comment.object_pk怎么用?Python Comment.object_pk使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.contrib.comments.models.Comment
的用法示例。
在下文中一共展示了Comment.object_pk方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: approve
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
def approve(request, id):
config = get_object_or_404(Config, pk=id)
if config.locked:
error = ("This configuration is locked. Only admins can unlock "
"it.")
return details(request, config.id, error=error)
old_status = config.status
message = ''
if request.method == 'POST': # If the form has been submitted...
data = request.POST
if data.get('approved', False):
# check if domains and domains requests are null
if not config.domains.all() and not config.domainrequests.all():
error = """Can't approve this configuration. There is no
correlated domain."""
return details(request, id, error=error)
# check if domain names already exist
for domain in config.domainrequests.all():
if Domain.objects.filter(name=domain).exclude(
Q(config__status='deleted') |
Q(config__status='invalid')):
error = """Can't approve this configuration. Domain is
already used by another approved configuration."""
return details(request, id, error=error)
config.status = 'approved'
for domain in config.domainrequests.all():
exists = Domain.objects.filter(name=domain)
if exists:
claimed = exists[0]
claimed.config = config
else:
claimed = Domain(name=domain.name,
config=config)
claimed.save()
domain.delete()
elif data.get('denied', False):
# Check mandatory comment when invalidating
if data['comment'] == 'Other - invalid':
if not data['commenttext']:
error = "Enter a comment."
return details(request, id, error=error)
message = data['commenttext']
else:
message = data['comment']
config.status = 'invalid'
else:
raise ValueError("shouldn't get here")
config.save()
comment = Comment(user_name='ISPDB System',
site_id=settings.SITE_ID)
c = "<ul><li><b>Status</b> changed from <b><i>%s</i></b> to \
<b><i>%s</i></b> by %s</li></ul>\n %s" % (old_status,
config.status, request.user.email, message)
comment.comment = c
comment.content_type = ContentType.objects.get_for_model(Config)
comment.object_pk = config.pk
comment.save()
return HttpResponseRedirect('/details/' + id) # Redirect after POST
示例2: test_comment_post_save
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
def test_comment_post_save(self):
content_type = ContentType.objects.get(model='issue')
comment = Comment()
comment.user_name = self.user.username
comment.user_email = self.user.email
comment.content_type = content_type
comment.object_pk = 1
comment.comment = "This is a test comment"
comment.site = Site.objects.get(id=settings.SITE_ID)
comment.save()
print comment.comment
示例3: test_notify_on_comment
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
def test_notify_on_comment(self):
# post some comment
comment = Comment()
content_type = ContentType.objects.get(model='issue')
comment = Comment()
comment.user_name = 'somebody'
comment.user_email = '[email protected]'
comment.content_type = content_type
comment.object_pk = 1
comment.comment = "This is a test comment"
comment.site = Site.objects.get(id=settings.SITE_ID)
comment.save()
self.assertEquals(len(mail.outbox), 3)
self.check_outbox(self.recipient_list, "DjTracker: [unittest-project]: New Comment on Issue #1 by somebody", comment.comment)
示例4: newComment
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
def newComment(model, request, comment):
user = request.user
c = Comment()
c.user = user
c.user_name = user.username
c.user_email = user.email
c.ip_address = request.META.get('REMOTE_ADDR')
c.comment = comment
# c.site = Site.objects.get(id=settings.SITE_ID)
c.site_id = settings.SITE_ID
c.content_type = ContentType.objects.get_for_model(model)
c.object_pk = model.id
c.save()
示例5: create_comment
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
def create_comment(oldcomment):
current_site = Site.objects.get(id=settings.SITE_ID)
content_type = ContentType.objects.get(app_label='blog', model='post')
fields = oldcomment['fields']
comment = Comment()
comment.comment = fields['comment']
comment.ip_address = fields['ip_address']
comment.is_public = fields['is_public']
comment.is_removed = fields['is_removed']
comment.object_pk = fields['object_pk']
comment.submit_date = fields['submit_date']
comment.user = None
comment.user_email = fields['user_email']
comment.user_name = fields['user_name']
comment.user_url = fields['user_url']
comment.content_type = content_type
comment.site = current_site
comment.save()
示例6: parse_repo
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
def parse_repo(self, project):
starting_commit = project.svn_repo_commit
client = pysvn.Client()
client.set_interactive(False)
client.set_default_username(project.svn_repo_username)
client.set_default_password(project.svn_repo_password)
commits = client.log(project.svn_repo_url,
revision_start=pysvn.Revision(pysvn.opt_revision_kind.number, int(starting_commit)),
revision_end=pysvn.Revision(pysvn.opt_revision_kind.head))
match_string = re.compile('Fixes #[\d]+')
issue_matches = []
for x in commits:
for message in match_string.findall(x.data['message']):
issue_matches.append(x)
number_string = re.compile('\d+')
closed_status = models.Status.objects.get(slug="closed")
for x in issue_matches:
for y in number_string.findall(x.data['message']):
try:
issue = models.Issue.objects.get(id=y)
if issue.status is closed_status:
continue
except ObjectDoesNotExist:
continue
issue.status=closed_status
issue.save()
comment = Comment()
comment.user_name = "vcs_bot"
comment.user_email = "[email protected]"
comment.content_type = self.content_type
comment.object_pk = issue.id
comment.comment = x.data['message']
comment.site = Site.objects.get(id=settings.SITE_ID)
comment.save()
project.git_repo_commit = x.data['revision'].number
project.save()
示例7: parse_repo
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
def parse_repo(self, project):
repo = git.Repo(project.git_repo_path)
starting_commit = project.git_repo_commit
commits = repo.commits()
for x in commits:
if starting_commit == x.id:
starting_commit = x
index = commits.index(starting_commit)
commits = commits[:index]
match_string = re.compile('Fixes #[\d]+')
issue_matches = []
for x in commits:
for message in match_string.findall(x.message):
issue_matches.append(x)
number_string = re.compile('\d+')
closed_status = models.Status.objects.get(slug="closed")
for x in issue_matches:
for y in number_string.findall(x.message):
try:
issue = models.Issue.objects.get(id=y)
if issue.status is closed_status:
continue
except ObjectDoesNotExist:
continue
issue.status=closed_status
issue.save()
comment = Comment()
comment.user_name = "vcs_bot"
comment.user_email = "[email protected]"
comment.content_type = self.content_type
comment.object_pk = issue.id
comment.comment = x.message
comment.site = Site.objects.get(id=settings.SITE_ID)
comment.save()
project.git_repo_commit = x.id
project.save()
示例8: parse_message
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
def parse_message(self, message, raw_data):
## Get project slug
match = re.search("\[[\w-]+\]", message['subject'])
project_slug = match.group().lstrip('[').rstrip(']')
## Get email address
#print message['from']
match = re.search(r'[a-zA-Z0-9+_\-\.][email protected][0-9a-zA-Z]*.[a-zA-Z]+',
message['from'])
#print match.group()
email_addy = match.group()
## Get Issue Number (if exists)
match = re.search("Issue #[\d]+", message['subject'])
if match:
issue_string = match.group()
issue_num = issue_string.lstrip("Issue #")
issue_title = message['subject'][match.end():].lstrip(" - ")
else:
issue_num = None
match = re.search("\[[\w-]+\]", message['subject'])
issue_title = message['subject'][match.end():]
issue_title = issue_title.lstrip(": ")
## Get our django objects
try:
project = models.Project.objects.get(slug=project_slug)
except ObjectDoesNotExist:
return
try:
user = User.objects.get(email=email_addy)
can_comment = utils.check_permissions('comment', user, project)
except ObjectDoesNotExist:
can_comment = project.allow_anon_comment
user = None
try:
issue = models.Issue.objects.get(id=issue_num)
except ObjectDoesNotExist:
issue = None
body = raw_data[message.startofbody:]
content_type = ContentType.objects.get(model='issue')
#print can_comment
if can_comment:
if issue is not None:
comment = Comment()
if user is not None:
comment.user_name = user.username
comment.user_email = user.email
else:
comment.user_name = email_addy
comment.user_email = email_addy
comment.content_type = content_type
comment.object_pk = issue.id
comment.comment = body
comment.site = Site.objects.get(id=settings.SITE_ID)
comment.save()
else:
issue = models.Issue()
issue.name = issue_title
issue.project = project
issue.description = body
status = models.Status.objects.get(id=1)
priority = models.Priority.objects.get(id=1)
issue_type = models.IssueType.objects.get(id=1)
issue.status = status
issue.priority = priority
issue.issue_type = issue_type
issue.save()
示例9: handle
# 需要导入模块: from django.contrib.comments.models import Comment [as 别名]
# 或者: from django.contrib.comments.models.Comment import object_pk [as 别名]
#.........这里部分代码省略.........
# Unpublished posts will not have anything in their name tag (which
# is used to hold the slug), so we have to create the slug from the
# title.
if slug is None:
slug = slugify(item.find('title').text)
print 'Importing post "%s"...' % slug
# If the post is already in the database, get it. Otherwise create
# it.
try:
post = Post.objects.get(slug=slug)
except:
post = Post()
post.title = item.find('title').text
post.slug = slug
post.body = item.find('{http://purl.org/rss/1.0/modules/content/}encoded').text
post.created = item.find('{%s}post_date' % wp).text
# If the post was published, set its status to public.
# Otherwise make it a draft.
if item.find('{%s}status' % wp).text == 'publish':
post.status = 2
else:
post.status = 1
# Unpublished posts will not have a timestamp associated
# with them. We'll set the creation date to now.
post.created = datetime.now()
# Set publish time to the creation time.
post.publish = post.created
# If the excerpt flag was set, do some auto excerpting magic.
if options['excerpt']:
# Partition the string at the Wordpress more quicktag.
partition = post.body.partition('<!--more-->')
# If the `more` tag was not found, Python will have
# returned a tuple with the full post body in the first
# item followed by two empty items. To make sure that the
# excerpt is only set if the post does actually contain a
# `morie` quicktag, we'll check to see if the third tuple
# item is an empty string.
if partition[2]:
post.tease = partition[0]
# Post must be saved before we apply tags or comments.
post.save()
# Get all tags and categories. They look like this, respectively:
# <category domain="post_tag" nicename="a tag">a tag</category>
# <category domain="category" nicename="general">general</category>
descriptors = item.findall('category')
categories = []
for descriptor in descriptors:
if descriptor.attrib['domain'] == 'post_tag':
# Add the tag to the post
post.tags.add(descriptor.text)
if descriptor.attrib['domain'] == 'category':
category = descriptor.text
# If the category exists, add it to the model. Otherwise,
# create the category, then add it.
try:
cat = Category.objects.get(slug=slugify(category))
except:
cat = Category(title=category, slug=slugify(category))
cat.save()
post.categories.add(cat)
# Save the post again, this time with tags and categories.
post.save()
# Get and save the comments.
comments = item.findall('{%s}comment' % (wp))
for comment in comments:
# When I was importing my posts, I stumbled upon a comment that
# somehow had no author email associated with it. If that is
# the case, don't bother importing the comment.
email = comment.find('{%s}comment_author_email' % (wp)).text
if email is None:
continue
c = Comment()
c.user_name = comment.find('{%s}comment_author' % wp).text
c.user_email = comment.find('{%s}comment_author_email'
% wp).text
c.comment = comment.find('{%s}comment_content' % wp).text
c.submit_date = comment.find('{%s}comment_date' % wp).text
c.content_type = ContentType.objects.get(app_label='blog',
model='post')
c.object_pk = post.id
c.site_id = Site.objects.get_current().id
# Only attempt to assign a user URL to the new comment if the
# old comment has one.
user_url = comment.find('{%s}comment_author_url' % wp).text
if user_url:
c.user_url = user_url
c.save()