本文整理汇总了Python中MaKaC.conference.LocalFile.getURL方法的典型用法代码示例。如果您正苦于以下问题:Python LocalFile.getURL方法的具体用法?Python LocalFile.getURL怎么用?Python LocalFile.getURL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MaKaC.conference.LocalFile
的用法示例。
在下文中一共展示了LocalFile.getURL方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _addMaterialType
# 需要导入模块: from MaKaC.conference import LocalFile [as 别名]
# 或者: from MaKaC.conference.LocalFile import getURL [as 别名]
def _addMaterialType(self, text, user):
from MaKaC.common.fossilize import fossilize
from MaKaC.fossils.conference import ILocalFileExtendedFossil, ILinkFossil
Logger.get('requestHandler').debug('Adding %s - request %s ' % (self._uploadType, id(self._req)))
mat, newlyCreated = self._getMaterial()
# if the material still doesn't exist, create it
if newlyCreated:
protectedAtResourceLevel = False
else:
protectedAtResourceLevel = True
resources = []
if self._uploadType in ['file','link']:
if self._uploadType == "file":
for fileEntry in self._files:
resource = LocalFile()
resource.setFileName(fileEntry["fileName"])
resource.setFilePath(fileEntry["filePath"])
resource.setDescription(self._description)
if self._displayName == "":
resource.setName(resource.getFileName())
else:
resource.setName(self._displayName)
if not type(self._target) is Category:
self._target.getConference().getLogHandler().logAction({"subject":"Added file %s%s" % (fileEntry["fileName"], text)}, "Files", user)
resources.append(resource)
# in case of db conflict we do not want to send the file to conversion again, nor re-store the file
elif self._uploadType == "link":
for link in self._links:
resource = Link()
resource.setURL(link["url"])
resource.setDescription(self._description)
if self._displayName == "":
resource.setName(resource.getURL())
else:
resource.setName(self._displayName)
if not type(self._target) is Category:
self._target.getConference().getLogHandler().logAction({"subject":"Added link %s%s" % (resource.getURL(), text)}, "Files", user)
resources.append(resource)
status = "OK"
info = resources
else:
status = "ERROR"
info = "Unknown upload type"
return mat, status, info
# forcedFileId - in case there is a conflict, use the file that is
# already stored
repoIDs = []
for i, resource in enumerate(resources):
if self._repositoryIds:
mat.addResource(resource, forcedFileId=self._repositoryIds[i])
else:
mat.addResource(resource, forcedFileId=None)
#apply conversion
if self._topdf and fileConverter.CDSConvFileConverter.hasAvailableConversionsFor(os.path.splitext(resource.getFileName())[1].strip().lower()):
#Logger.get('conv').debug('Queueing %s for conversion' % resource.getFilePath())
fileConverter.CDSConvFileConverter.convert(resource.getFilePath(), "pdf", mat)
# store the repo id, for files
if isinstance(resource, LocalFile) and self._repositoryIds is None:
repoIDs.append(resource.getRepositoryId())
if protectedAtResourceLevel:
protectedObject = resource
else:
protectedObject = mat
mat.setHidden(self._visibility)
mat.setAccessKey(self._password)
protectedObject.setProtection(self._statusSelection)
for userElement in self._userList:
if 'isGroup' in userElement and userElement['isGroup']:
avatar = GroupHolder().getById(userElement['id'])
else:
avatar = AvatarHolder().getById(userElement['id'])
protectedObject.grantAccess(avatar)
self._topdf = False
if self._repositoryIds is None:
self._repositoryIds = repoIDs
return mat, status, fossilize(info, {"MaKaC.conference.Link": ILinkFossil,
"MaKaC.conference.LocalFile": ILocalFileExtendedFossil})
示例2: _addMaterialType
# 需要导入模块: from MaKaC.conference import LocalFile [as 别名]
# 或者: from MaKaC.conference.LocalFile import getURL [as 别名]
def _addMaterialType(self, text, user):
from MaKaC.common.fossilize import fossilize
from MaKaC.fossils.conference import ILocalFileExtendedFossil, ILinkFossil
Logger.get("requestHandler").debug("Adding %s - request %s" % (self._uploadType, request))
mat, newlyCreated = self._getMaterial()
# if the material still doesn't exist, create it
if newlyCreated:
protectedAtResourceLevel = False
else:
protectedAtResourceLevel = True
resources = []
if self._uploadType in ["file", "link"]:
if self._uploadType == "file":
for fileEntry in self._files:
resource = LocalFile()
resource.setFileName(fileEntry["fileName"])
resource.setFilePath(fileEntry["filePath"])
resource.setDescription(self._description)
if self._displayName == "":
resource.setName(resource.getFileName())
else:
resource.setName(self._displayName)
if not isinstance(self._target, Category):
log_msg = u"Added file {}{}".format(to_unicode(fileEntry["fileName"]), to_unicode(text))
self._target.getConference().log(
EventLogRealm.management, EventLogKind.positive, u"Material", log_msg, session.user
)
resources.append(resource)
# in case of db conflict we do not want to send the file to conversion again, nor re-store the file
elif self._uploadType == "link":
for link in self._links:
resource = Link()
resource.setURL(link["url"])
resource.setDescription(self._description)
if self._displayName == "":
resource.setName(resource.getURL())
else:
resource.setName(self._displayName)
if not isinstance(self._target, Category):
log_msg = u"Added link {}{}".format(to_unicode(resource.getURL()), to_unicode(text))
self._target.getConference().log(
EventLogRealm.management, EventLogKind.positive, u"Material", log_msg, session.user
)
resources.append(resource)
status = "OK"
info = resources
else:
status = "ERROR"
info = "Unknown upload type"
return mat, status, info
# forcedFileId - in case there is a conflict, use the file that is
# already stored
repoIDs = []
for i, resource in enumerate(resources):
if self._repositoryIds:
mat.addResource(resource, forcedFileId=self._repositoryIds[i])
else:
mat.addResource(resource, forcedFileId=None)
# apply conversion
if self._topdf and not isinstance(resource, Link):
file_ext = os.path.splitext(resource.getFileName())[1].strip().lower()
if fileConverter.CDSConvFileConverter.hasAvailableConversionsFor(file_ext):
fileConverter.CDSConvFileConverter.convert(resource.getFilePath(), "pdf", mat)
resource.setPDFConversionRequestDate(nowutc())
# store the repo id, for files
if isinstance(resource, LocalFile) and self._repositoryIds is None:
repoIDs.append(resource.getRepositoryId())
if protectedAtResourceLevel:
protectedObject = resource
else:
protectedObject = mat
mat.setHidden(self._visibility)
mat.setAccessKey(self._password)
protectedObject.setProtection(self._statusSelection)
for principal in map(principal_from_fossil, self._userList):
protectedObject.grantAccess(principal)
self._topdf = False
if self._repositoryIds is None:
self._repositoryIds = repoIDs
return (
mat,
status,
#.........这里部分代码省略.........
示例3: _process
# 需要导入模块: from MaKaC.conference import LocalFile [as 别名]
# 或者: from MaKaC.conference.LocalFile import getURL [as 别名]
def _process(self, rh, params):
# We will need to pickle the data back into JSON
from MaKaC.common.PickleJar import DictPickler
errorList=[]
user = rh.getAW().getUser()
try:
owner = self._target
title = owner.getTitle()
if type(owner) == Conference:
ownerType = "event"
elif type(owner) == Session:
ownerType = "session"
elif type(owner) == Contribution:
ownerType = "contribution"
elif type(owner) == SubContribution:
ownerType = "subcontribution"
else:
ownerType = ""
text = " in %s %s" % (ownerType,title)
except:
owner = None
text = ""
errorList=self._getErrorList()
file = self._file
link = self._link
resource = None
if self._uploadType == "file":
if len(errorList)==0:
mat = self._getMaterial()
if mat == None:
errorList.append("Unknown material");
else:
resource = LocalFile()
resource.setFileName(file["fileName"])
resource.setName(resource.getFileName())
resource.setFilePath(file["filePath"])
resource.setDescription(self._description)
mat.addResource(resource)
#apply conversion
if self._topdf and fileConverter.CDSConvFileConverter.hasAvailableConversionsFor(os.path.splitext(resource.getFileName())[1].strip().lower()):
fileConverter.CDSConvFileConverter.convert(resource.getFilePath(), "pdf", mat)
if not type(self._target) is Category:
self._target.getConference().getLogHandler().logAction({"subject":"Added file %s%s" % (file["fileName"],text)},"Files",user)
# in case of db conflict we do not want to send the file to conversion again
self._topdf = False
if len(errorList) > 0:
status = "ERROR"
info = errorList
else:
status = "OK"
info = DictPickler.pickle(resource)
info['material'] = mat.getId();
elif self._uploadType == "link":
if len(errorList)==0:
mat = self._getMaterial()
if mat == None:
mat = Material()
mat.setTitle(link["matType"])
self._target.addMaterial( mat )
resource = Link()
resource.setURL(link["url"])
resource.setName(resource.getURL())
resource.setDescription(self._description)
mat.addResource(resource)
if not type(self._target) is Category:
self._target.getConference().getLogHandler().logAction({"subject":"Added link %s%s" % (resource.getURL(),text)},"Files",user)
status = "OK"
info = DictPickler.pickle(resource)
info['material'] = mat.getId();
else:
status = "ERROR"
info = errorList
else:
status = "ERROR"
info = "Unknown upload type"
# hackish, because of mime types. Konqueror, for instance, would assume text if there were no tags,
# and would try to open it
from MaKaC.services.interface.rpc import json
return "<html><head></head><body>"+json.encode({'status': status, 'info': info})+"</body></html>"