本文整理汇总了Python中tracim.model.data.Content.get_history方法的典型用法代码示例。如果您正苦于以下问题:Python Content.get_history方法的具体用法?Python Content.get_history怎么用?Python Content.get_history使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tracim.model.data.Content
的用法示例。
在下文中一共展示了Content.get_history方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: serialize_node_for_page
# 需要导入模块: from tracim.model.data import Content [as 别名]
# 或者: from tracim.model.data.Content import get_history [as 别名]
def serialize_node_for_page(content: Content, context: Context):
if content.type in (ContentType.Page, ContentType.File) :
data_container = content
# The following properties are overriden by revision values
if content.revision_to_serialize>0:
for revision in content.revisions:
if revision.revision_id==content.revision_to_serialize:
data_container = revision
break
result = DictLikeClass(
id=content.content_id,
parent=context.toDict(content.parent),
workspace=context.toDict(content.workspace),
type=content.type,
is_new=content.has_new_information_for(context.get_user()),
content=data_container.description,
created=data_container.created,
updated=content.last_revision.updated,
label=data_container.label,
icon=ContentType.get_icon(content.type),
owner=context.toDict(content.first_revision.owner),
last_modification_author=context.toDict(content.last_revision.owner),
status=context.toDict(data_container.get_status()),
links=[],
revision_nb = len(content.revisions),
selected_revision='latest' if content.revision_to_serialize<=0 else content.revision_to_serialize,
history=Context(CTX.CONTENT_HISTORY).toDict(content.get_history()),
is_editable=content.is_editable,
is_deleted=content.is_deleted,
is_archived=content.is_archived,
urls = context.toDict({
'mark_read': context.url(Content.format_path('/workspaces/{wid}/folders/{fid}/{ctype}s/{cid}/put_read', content)),
'mark_unread': context.url(Content.format_path('/workspaces/{wid}/folders/{fid}/{ctype}s/{cid}/put_unread', content))
})
)
if content.type == ContentType.File:
depot = DepotManager.get()
depot_stored_file = depot.get(data_container.depot_file)
result.label = content.label
result['file'] = DictLikeClass(
name=data_container.file_name,
size=depot_stored_file.content_length,
mimetype=data_container.file_mimetype)
return result
if content.type==ContentType.Folder:
value = DictLikeClass(
id=content.content_id,
label=content.label,
is_new=content.has_new_information_for(context.get_user()),
)
return value
raise NotImplementedError
示例2: serialize_node_for_page
# 需要导入模块: from tracim.model.data import Content [as 别名]
# 或者: from tracim.model.data.Content import get_history [as 别名]
def serialize_node_for_page(content: Content, context: Context):
if content.type in (ContentType.Page, ContentType.File) :
data_container = content
# The following properties are overriden by revision values
if content.revision_to_serialize>0:
for revision in content.revisions:
if revision.revision_id==content.revision_to_serialize:
data_container = revision
break
result = DictLikeClass(
id=content.content_id,
parent=context.toDict(content.parent),
workspace=context.toDict(content.workspace),
type=content.type,
is_new=content.has_new_information_for(context.get_user()),
content=data_container.description,
created=data_container.created,
label=data_container.label,
icon=ContentType.get_icon(content.type),
owner=context.toDict(data_container.owner),
status=context.toDict(data_container.get_status()),
links=context.toDict(content.extract_links_from_content(data_container.description)),
revisions=context.toDict(sorted(content.revisions, key=lambda v: v.created, reverse=True)),
selected_revision='latest' if content.revision_to_serialize<=0 else content.revision_to_serialize,
history=Context(CTX.CONTENT_HISTORY).toDict(content.get_history()),
urls = context.toDict({
'mark_read': context.url(Content.format_path('/workspaces/{wid}/folders/{fid}/{ctype}s/{cid}/put_read', content)),
'mark_unread': context.url(Content.format_path('/workspaces/{wid}/folders/{fid}/{ctype}s/{cid}/put_unread', content))
})
)
if content.type==ContentType.File:
result.label = content.label if content.label else content.file_name
result['file'] = DictLikeClass(
name = data_container.file_name,
size = len(data_container.file_content),
mimetype = data_container.file_mimetype)
return result
if content.type==ContentType.Folder:
value = DictLikeClass(
id=content.content_id,
label=content.label,
is_new=content.has_new_information_for(context.get_user()),
)
return value
raise NotImplementedError
示例3: serialize_node_for_thread
# 需要导入模块: from tracim.model.data import Content [as 别名]
# 或者: from tracim.model.data.Content import get_history [as 别名]
def serialize_node_for_thread(item: Content, context: Context):
if item.type in (ContentType.Thread, ContentType.Task, ContentType.Ticket):
return DictLikeClass(
content = item.description,
created = item.created,
updated = item.last_revision.updated,
revision_nb = len(item.revisions),
icon = ContentType.get_icon(item.type),
id = item.content_id,
label = item.label,
links=[],
owner = context.toDict(item.owner),
last_modification_author=context.toDict(item.last_revision.owner),
parent = context.toDict(item.parent),
selected_revision = 'latest',
status = context.toDict(item.get_status()),
type = item.type,
workspace = context.toDict(item.workspace),
comments = reversed(context.toDict(item.get_comments())),
is_new=item.has_new_information_for(context.get_user()),
history = Context(CTX.CONTENT_HISTORY).toDict(item.get_history()),
is_editable=item.is_editable,
is_deleted=item.is_deleted,
is_archived=item.is_archived,
urls = context.toDict({
'mark_read': context.url(Content.format_path('/workspaces/{wid}/folders/{fid}/{ctype}s/{cid}/put_read', item)),
'mark_unread': context.url(Content.format_path('/workspaces/{wid}/folders/{fid}/{ctype}s/{cid}/put_unread', item))
}),
)
if item.type == ContentType.Comment:
return DictLikeClass(
is_new=item.has_new_information_for(context.get_user()),
content = item.description,
created = item.created,
created_as_delta = item.created_as_delta(),
icon = ContentType.get_icon(item.type),
id = item.content_id,
label = item.label,
owner = context.toDict(item.owner),
# REMOVE parent = context.toDict(item.parent),
type = item.type,
urls = context.toDict({
'delete': context.url('/workspaces/{wid}/folders/{fid}/{ctype}/{cid}/comments/{commentid}/put_delete'.format(wid = item.workspace_id, fid=item.parent.parent_id, ctype=item.parent.type+'s', cid=item.parent.content_id, commentid=item.content_id))
})
)
if item.type==ContentType.Folder:
return Context(CTX.DEFAULT).toDict(item)
示例4: designThread
# 需要导入模块: from tracim.model.data import Content [as 别名]
# 或者: from tracim.model.data.Content import get_history [as 别名]
def designThread(content: data.Content, content_revision: data.ContentRevisionRO, comments) -> str:
hist = content.get_history()
allT = []
allT += comments
allT += hist
allT.sort(key=lambda x: x.created, reverse=True)
disc = ''
participants = {}
for t in allT:
if t.type == ContentType.Comment:
disc += '''
<div class="row comment comment-row">
<i class="fa fa-comment-o comment-icon"></i>
<div class="comment-content">
<h5>
<span class="comment-author"><b>%s</b> wrote :</span>
<div class="pull-right text-right">%s</div>
</h5>
%s
</div>
</div>
''' % (t.owner.display_name, create_readable_date(t.created), t.description)
if t.owner.display_name not in participants:
participants[t.owner.display_name] = [1, t.created]
else:
participants[t.owner.display_name][0] += 1
else:
if isinstance(t, VirtualEvent) and t.type.id != 'comment':
label = _LABELS[t.type.id]
disc += '''
<div class="%s row comment comment-row to-hide">
<i class="fa %s comment-icon"></i>
<div class="comment-content">
<h5>
<span class="comment-author"><b>%s</b></span>
<div class="pull-right text-right">%s</div>
</h5>
%s %s
</div>
</div>
''' % ('warning' if t.id == content_revision.revision_id else '',
t.type.icon,
t.owner.display_name,
t.create_readable_date(),
label,
# NOTE: (WABDAV_HIST_DEL_DISABLED) Disabled for beta 1.0
'<i class="fa fa-caret-left"></i> shown' if t.id == content_revision.revision_id else '' # else '''<span><a class="revision-link" href="/.history/%s/%s-%s">(View revision)</a></span>''' % (
# content.label,
# t.id,
# t.ref_object.label) if t.type.id in ['revision', 'creation', 'edition'] else '')
)
page = '''
<html>
<head>
<title>%s</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
<style>%s</style>
<script type="text/javascript" src="/home/arnaud/Documents/css/script.js"></script>
</head>
<body>
<div id="left" class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="title thread">
<div class="title-text">
<i class="fa fa-comments-o title-icon thread"></i>
<h1>%s</h1>
<h6>thread created on <b>%s</b> by <b>%s</b></h6>
</div>
<div class="pull-right">
<div class="btn-group btn-group-vertical">
<!-- NOTE: Not omplemented yet, don't display not working link
<a class="btn btn-default" onclick="hide_elements()">
<i id="hideshow" class="fa fa-eye-slash"></i> <span id="hideshowtxt" >Hide history</span></a>
</a>-->
<a class="btn btn-default">
<i class="fa fa-external-link"></i> View in tracim</a>
</a>
</div>
</div>
</div>
<div class="content col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="description">
<span class="description-text">%s</span>
</div>
%s
</div>
</div>
<script type="text/javascript">
window.onload = function() {
file_location = window.location.href
file_location = file_location.replace(/\/[^/]*$/, '')
file_location = file_location.replace(/\/.history\/[^/]*$/, '')
// NOTE: (WABDAV_HIST_DEL_DISABLED) Disabled for beta 1.0
#.........这里部分代码省略.........
示例5: designPage
# 需要导入模块: from tracim.model.data import Content [as 别名]
# 或者: from tracim.model.data.Content import get_history [as 别名]
def designPage(content: data.Content, content_revision: data.ContentRevisionRO) -> str:
hist = content.get_history()
histHTML = '<table class="table table-striped table-hover">'
for event in hist:
if isinstance(event, VirtualEvent):
date = event.create_readable_date()
label = _LABELS[event.type.id]
histHTML += '''
<tr class="%s">
<td class="my-align"><span class="label label-default"><i class="fa %s"></i> %s</span></td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>
''' % ('warning' if event.id == content_revision.revision_id else '',
event.type.icon,
label,
date,
event.owner.display_name,
# NOTE: (WABDAV_HIST_DEL_DISABLED) Disabled for beta 1.0
'<i class="fa fa-caret-left"></i> shown' if event.id == content_revision.revision_id else '' # '''<span><a class="revision-link" href="/.history/%s/(%s - %s) %s.html">(View revision)</a></span>''' % (
# content.label, event.id, event.type.id, event.ref_object.label) if event.type.id in ['revision', 'creation', 'edition'] else '')
)
histHTML += '</table>'
file = '''
<html>
<head>
<title>%s</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
<style>%s</style>
<script type="text/javascript" src="/home/arnaud/Documents/css/script.js"></script>
<script
src="https://code.jquery.com/jquery-3.1.0.min.js"
integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s="
crossorigin="anonymous"></script>
</head>
<body>
<div id="left" class="col-lg-8 col-md-12 col-sm-12 col-xs-12">
<div class="title page">
<div class="title-text">
<i class="fa fa-file-text-o title-icon page"></i>
<h1>%s</h1>
<h6>page created on <b>%s</b> by <b>%s</b></h6>
</div>
<div class="pull-right">
<div class="btn-group btn-group-vertical">
<!-- NOTE: Not omplemented yet, don't display not working link
<a class="btn btn-default">
<i class="fa fa-external-link"></i> View in tracim</a>
</a>-->
</div>
</div>
</div>
<div class="content col-xs-12 col-sm-12 col-md-12 col-lg-12">
%s
</div>
</div>
<div id="right" class="col-lg-4 col-md-12 col-sm-12 col-xs-12">
<h4>History</h4>
%s
</div>
<script type="text/javascript">
window.onload = function() {
file_location = window.location.href
file_location = file_location.replace(/\/[^/]*$/, '')
file_location = file_location.replace(/\/.history\/[^/]*$/, '')
// NOTE: (WABDAV_HIST_DEL_DISABLED) Disabled for beta 1.0
// $('.revision-link').each(function() {
// $(this).attr('href', file_location + $(this).attr('href'))
// });
}
</script>
</body>
</html>
''' % (content_revision.label,
style,
content_revision.label,
content.created.strftime("%B %d, %Y at %H:%m"),
content.owner.display_name,
content_revision.description,
histHTML)
return file