本文整理汇总了Python中MaKaC.user.Avatar类的典型用法代码示例。如果您正苦于以下问题:Python Avatar类的具体用法?Python Avatar怎么用?Python Avatar使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Avatar类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: testTplConditions
def testTplConditions(self):
# test adding and removing conditions to templates
from MaKaC.review import NotificationTemplate
tpl1 = NotificationTemplate()
tpl2 = NotificationTemplate()
absMgr = self._conf.getAbstractMgr()
absMgr.addNotificationTpl(tpl1)
absMgr.addNotificationTpl(tpl2)
from MaKaC.review import NotifTplCondAccepted, NotifTplCondRejected
cond1 = NotifTplCondAccepted(contribType=self._contribTypeOral)
cond2 = NotifTplCondRejected()
tpl1.addCondition(cond1)
tpl2.addCondition(cond2)
from MaKaC.user import Avatar
submitter = Avatar()
submitter.setId("submitter")
abs1 = absMgr.newAbstract(submitter)
tplRes = absMgr.getNotifTplForAbstract(abs1)
self.assert_(tplRes is None)
abs1.accept(submitter, self._track1, self._contribTypeOral)
self.assert_(absMgr.getNotifTplForAbstract(abs1) == tpl1)
abs2 = absMgr.newAbstract(submitter)
abs2.accept(submitter, self._track1, self._contribTypePoster)
self.assert_(not absMgr.getNotifTplForAbstract(abs2))
abs3 = absMgr.newAbstract(submitter)
abs3.reject(submitter)
self.assert_(absMgr.getNotifTplForAbstract(abs3) == tpl2)
开发者ID:lukasnellen,项目名称:indico,代码行数:30,代码来源:testCFA.py
示例2: testTplCondAccNoneTrack
def testTplCondAccNoneTrack(self):
# test different possibilities when a condition has been stablished for
# a notif tpl on none track
from MaKaC.review import NotificationTemplate
tpl1 = NotificationTemplate()
absMgr = self._conf.getAbstractMgr()
absMgr.addNotificationTpl(tpl1)
from MaKaC.review import NotifTplCondAccepted
cond1 = NotifTplCondAccepted(track=None, contribType=self._contribTypeOral)
tpl1.addCondition(cond1)
from MaKaC.user import Avatar
submitter = Avatar()
submitter.setId("submitter")
abs1 = absMgr.newAbstract(submitter)
abs1.accept(submitter, self._track1, self._contribTypeOral)
self.assert_(absMgr.getNotifTplForAbstract(abs1) is None)
abs2 = absMgr.newAbstract(submitter)
abs2.accept(submitter, self._track1, self._contribTypePoster)
self.assert_(absMgr.getNotifTplForAbstract(abs2) is None)
abs3 = absMgr.newAbstract(submitter)
abs3.accept(submitter, None, self._contribTypeOral)
self.assert_(absMgr.getNotifTplForAbstract(abs3) == tpl1)
开发者ID:lukasnellen,项目名称:indico,代码行数:25,代码来源:testCFA.py
示例3: testBasic
def testBasic(self):
c1=Contribution()
self._conf.addContribution(c1)
av1,av2=Avatar(),Avatar()
av1.setId("1")
av2.setId("2")
self.assert_(not c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==0)
c1.grantSubmission(av1)
self.assert_(c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==1)
self.assert_(av1 in c1.getSubmitterList())
self.assert_(av2 not in c1.getSubmitterList())
c1.revokeSubmission(av2)
self.assert_(c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==1)
self.assert_(av1 in c1.getSubmitterList())
self.assert_(av2 not in c1.getSubmitterList())
c1.revokeSubmission(av1)
self.assert_(not c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==0)
开发者ID:lukasnellen,项目名称:indico,代码行数:25,代码来源:testContributions.py
示例4: setUp
def setUp( self ):
a = Avatar()
a.setId("creator")
self._categ = Category()
self._conf = Conference( a )
self._conf.setId('a')
self._conf.setDates(datetime(2000, 01, 01, tzinfo=timezone("UTC")),datetime(2020, 01, 01, tzinfo=timezone("UTC")))
开发者ID:lukasnellen,项目名称:indico,代码行数:7,代码来源:testContributions.py
示例5: setUp
def setUp( self ):
from MaKaC.user import Avatar
a = Avatar()
a.setId("creator")
from MaKaC.conference import Conference
self._conf = Conference( a )
self._conf.setTimezone('UTC')
开发者ID:lukasnellen,项目名称:indico,代码行数:7,代码来源:testSessions.py
示例6: setUp
def setUp(self):
a = Avatar()
a.setId("creator")
self._conf=Conference(a)
self._conf.setTimezone('UTC')
sd=datetime(2004, 01, 01, 10, 00, tzinfo=timezone('UTC'))
ed=datetime(2004, 01, 05, 10, 00, tzinfo=timezone('UTC'))
self._conf.setDates(sd,ed)
开发者ID:lukasnellen,项目名称:indico,代码行数:8,代码来源:testConferences.py
示例7: setUp
def setUp( self ):
from MaKaC.user import Avatar
a = Avatar()
a.setId("creator")
from MaKaC.conference import Conference
self._conf=Conference(a)
self._conf.setTimezone('UTC')
self._conf.setDates(datetime(2000,1,1,tzinfo=timezone('UTC')),datetime(2020,1,1,tzinfo=timezone('UTC')))
开发者ID:lukasnellen,项目名称:indico,代码行数:8,代码来源:testWebInterface.py
示例8: testAddTC
def testAddTC( self ):
from MaKaC.user import Avatar
tc1 = Avatar()
tc1.setId( "tc1" )
self._track1.addCoordinator( tc1 )
self.assert_( len(self._track1.getCoordinatorList()) == 1 )
self.assert_( tc1 in self._track1.getCoordinatorList() )
self.assert_( self._track1 in self._conf.getCoordinatedTracks( tc1 ) )
开发者ID:lukasnellen,项目名称:indico,代码行数:8,代码来源:testSciProgramme.py
示例9: setUp
def setUp( self ):
from MaKaC.user import Avatar
cr = Avatar()
cr.setId( "creator" )
from MaKaC.conference import Conference, Track
self._conf = Conference( cr )
self._track1 = Track()
self._track1.setId( "1" )
self._conf.addTrack( self._track1 )
开发者ID:lukasnellen,项目名称:indico,代码行数:9,代码来源:testSciProgramme.py
示例10: setUp
def setUp( self ):
a = Avatar()
a.setId("creator")
self._conf = ConferenceFacade( a )
self._conf.setId('a')
self._conf.setTimezone('UTC')
self._conf.setDates(datetime(2009, 9, 21, 16, 0 ,0, tzinfo=timezone("UTC")), datetime(2009, 9, 21, 19, 0 ,0, tzinfo=timezone("UTC")))
开发者ID:lukasnellen,项目名称:indico,代码行数:9,代码来源:testSchedule.py
示例11: TestBasicManagement
class TestBasicManagement(unittest.TestCase):
"""Tests the basic conference management functions
"""
def setUp( self ):
self._creator=Avatar()
self._creator.setId("creator")
self._conf=Conference(self._creator)
self._conf.setTimezone('UTC')
confTZ = self._conf.getTimezone()
sd = timezone(confTZ).localize(datetime(2000, 1, 1))
sdUTC = sd.astimezone(timezone('UTC'))
ed = timezone(confTZ).localize(datetime(2020, 1, 1))
edUTC = ed.astimezone(timezone('UTC'))
self._conf.setDates(sdUTC,edUTC)
def testAddRemoveSessions(self):
s1,s2=Session(),Session()
self._conf.addSession(s1)
self._conf.addSession(s2)
self.assert_(s1 in self._conf.getSessionList())
self.assert_(s1==self._conf.getSessionById(s1.getId()))
self.assert_(s2 in self._conf.getSessionList())
self.assert_(s2==self._conf.getSessionById(s2.getId()))
self._conf.removeSession(s1)
self.assert_(s1 not in self._conf.getSessionList())
self.assert_(None==self._conf.getSessionById(s1.getId()))
self.assert_(s2 in self._conf.getSessionList())
self.assert_(s2==self._conf.getSessionById(s2.getId()))
c1,c2,c3=Contribution(),Contribution(),Contribution()
self._conf.addSession(s1)
s1.addContribution(c1)
s1.addContribution(c2)
s2.addContribution(c3)
self.assert_(s1 in self._conf.getSessionList())
self.assert_(s1==self._conf.getSessionById(s1.getId()))
self.assert_(s2 in self._conf.getSessionList())
self.assert_(s2==self._conf.getSessionById(s2.getId()))
self.assert_(c1 in self._conf.getContributionList())
self.assert_(c2 in self._conf.getContributionList())
self.assert_(c3 in self._conf.getContributionList())
self.assert_(c1 in s1.getContributionList())
self.assert_(c2 in s1.getContributionList())
self.assert_(c3 in s2.getContributionList())
self._conf.removeSession(s1)
self.assert_(s1 not in self._conf.getSessionList())
self.assert_(s2 in self._conf.getSessionList())
self.assert_(c1 in self._conf.getContributionList())
self.assert_(c2 in self._conf.getContributionList())
self.assert_(c3 in self._conf.getContributionList())
self.assert_(c1 not in s1.getContributionList())
self.assert_(c1.getSession()==None)
self.assert_(c2.getSession()==None)
self.assert_(c2 not in s1.getContributionList())
self.assert_(c3 in s2.getContributionList())
开发者ID:lukasnellen,项目名称:indico,代码行数:56,代码来源:testConferences.py
示例12: testSimpleUnidexing
def testSimpleUnidexing( self ):
#check that unindexing works properly
from MaKaC.user import Avatar
av = Avatar()
av.setId( "1" ) #the index needs the avatar to be uniquely identified
from MaKaC.conference import Track
t = Track()
t.setId( "1" )
self._idx.indexCoordinator( av , t )
self._idx.unindexCoordinator( av, t )
self.assert_( len(self._idx.getTracks( av )) == 0 )
开发者ID:lukasnellen,项目名称:indico,代码行数:11,代码来源:testSciProgramme.py
示例13: testSimpleIndexing
def testSimpleIndexing( self ):
#adding a simple object to the index
from MaKaC.user import Avatar
av = Avatar()
av.setId( "1" ) #the index needs the avatar to be uniquely identified
from MaKaC.conference import Track
t = Track()
t.setId( "1" )
self._idx.indexCoordinator( av , t )
self.assert_( len(self._idx.getTracks( av )) == 1 )
self.assert_( t in self._idx.getTracks( av ) )
开发者ID:lukasnellen,项目名称:indico,代码行数:11,代码来源:testSciProgramme.py
示例14: setUp
def setUp( self ):
a = Avatar()
a.setId("creator")
self._conf = Conference( a )
self._conf.setId('a')
category=Category()
category.setId('1')
self._conf.addOwner(category)
catDateIdx = indexes.IndexesHolder().getIndex('categoryDate')
catDateIdx.indexConf(self._conf)
self._conf.setTimezone('UTC')
开发者ID:VishrutMehta,项目名称:indico,代码行数:11,代码来源:schedule_test.py
示例15: TestContributionSubmitterIndex
class TestContributionSubmitterIndex(unittest.TestCase):
"""
"""
def setUp( self ):
self._creator = Avatar()
self._creator.setId("creator")
self._categ = Category()
self._conf=Conference(self._creator)
self._conf.setId('a')
self._conf.setTimezone('UTC')
self._categ._addConference(self._conf)
def testBasic(self):
c1,c2=Contribution(),Contribution()
av1,av2=Avatar(),Avatar()
av1.setId("1")
av2.setId("2")
self.assert_(len(self._conf.getContribsForSubmitter(av1))==0)
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
self._conf.addContribution(c1)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==0)
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
c1.grantSubmission(av1)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
c2.grantSubmission(av2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
self._conf.addContribution(c2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==1)
self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
c1.grantSubmission(av2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==2)
self.assert_(c1 in self._conf.getContribsForSubmitter(av2))
self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
c1.revokeSubmission(av2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==1)
self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
self._conf.removeContribution(c2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
self.assert_(c2 not in self._conf.getContribsForSubmitter(av2))
开发者ID:lukasnellen,项目名称:indico,代码行数:54,代码来源:testConferences.py
示例16: TestSubmissionPrivileges
class TestSubmissionPrivileges(unittest.TestCase):
"""Tests different scenarios concerning the material submission privileges
"""
def setUp( self ):
self._creator=Avatar()
self._creator.setId("creator")
self._conf=Conference(self._creator)
sd=datetime(2004, 01, 01, 10, 00, tzinfo=timezone("UTC"))
ed=datetime(2004, 01, 05, 10, 00, tzinfo=timezone("UTC"))
self._conf.setDates(sd,ed)
def testBasic(self):
c1=Contribution()
self._conf.addContribution(c1)
av1,av2=Avatar(),Avatar()
av1.setId("1")
av2.setId("2")
self.assert_(not c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==0)
c1.grantSubmission(av1)
self.assert_(c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==1)
self.assert_(av1 in c1.getSubmitterList())
self.assert_(av2 not in c1.getSubmitterList())
c1.revokeSubmission(av2)
self.assert_(c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==1)
self.assert_(av1 in c1.getSubmitterList())
self.assert_(av2 not in c1.getSubmitterList())
c1.revokeSubmission(av1)
self.assert_(not c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==0)
def testAccContrib(self):
#tests that when a contribution comes from an accepted abstract the
# abstract submitters are also granted with submission privileges
# for the contribution
av1=Avatar()
av1.setId("1")
av2=Avatar()
av2.setId("2")
abs=self._conf.getAbstractMgr().newAbstract(av1)
abs.accept(self._creator,None,None)
c=abs.getContribution()
self.assert_(c.canUserSubmit(av1))
self.assert_(not c.canUserSubmit(av2))
c.grantSubmission(av2)
self.assert_(c.canUserSubmit(av1))
self.assert_(c.canUserSubmit(av2))
开发者ID:lukasnellen,项目名称:indico,代码行数:54,代码来源:testContributions.py
示例17: retrieveAvatar
def retrieveAvatar(self, rh):
"""
Login using Shibbolet.
"""
from MaKaC.user import AvatarHolder, Avatar
config = Config.getInstance().getAuthenticatorConfigById(self.id).get("SSOMapping", {})
if config.get('email', 'ADFS_EMAIL') in request.environ:
email = request.environ[config.get("email", "ADFS_EMAIL")]
login = request.environ[config.get("personId", "ADFS_LOGIN")]
personId = request.environ[config.get("personId", "ADFS_PERSONID")]
phone = request.environ.get(config.get("phone", "ADFS_PHONENUMBER"), "")
fax = request.environ.get(config.get("fax", "ADFS_FAXNUMBER"), "")
lastname = request.environ.get(config.get("lastname", "ADFS_LASTNAME"), "")
firstname = request.environ.get(config.get("firstname", "ADFS_FIRSTNAME"), "")
institute = request.environ.get(config.get("institute", "ADFS_HOMEINSTITUTE"), "")
if personId == '-1':
personId = None
ah = AvatarHolder()
av = ah.match({"email": email}, exact=1, onlyActivated=False, searchInAuthenticators=False)
if av:
av = av[0]
# don't allow disabled accounts
if av.isDisabled():
return None
elif not av.isActivated():
av.activateAccount()
av.clearAuthenticatorPersonalData()
av.setAuthenticatorPersonalData('phone', phone)
av.setAuthenticatorPersonalData('fax', fax)
av.setAuthenticatorPersonalData('surName', lastname)
av.setAuthenticatorPersonalData('firstName', firstname)
av.setAuthenticatorPersonalData('affiliation', institute)
if personId != None and personId != av.getPersonId():
av.setPersonId(personId)
else:
avDict = {"email": email,
"name": firstname,
"surName": lastname,
"organisation": institute,
"telephone": phone,
"login": login}
av = Avatar(avDict)
ah.add(av)
av.setPersonId(personId)
av.activateAccount()
self._postLogin(login, av, True)
return av
return None
开发者ID:ferhatelmas,项目名称:indico,代码行数:53,代码来源:baseAuthentication.py
示例18: testIndexingSeveralTracks
def testIndexingSeveralTracks( self ):
#adding 1 coordinator for 2 tracks
from MaKaC.user import Avatar
av1 = Avatar()
av1.setId( "1" ) #the index needs the avatar to be uniquely identified
from MaKaC.conference import Track
t1 = Track()
t1.setId( "1" )
t2 = Track()
t2.setId( "2" )
self._idx.indexCoordinator( av1 , t1 )
self._idx.indexCoordinator( av1 , t2 )
self.assert_( t1 in self._idx.getTracks( av1 ) )
self.assert_( t2 in self._idx.getTracks( av1 ) )
开发者ID:lukasnellen,项目名称:indico,代码行数:14,代码来源:testSciProgramme.py
示例19: testCoordination
def testCoordination(self):
session1,session2,session3=Session(),Session(),Session()
self._conf.addSession(session1)
self._conf.addSession(session2)
c1,c2=Avatar(),Avatar()
c1.setId("1")
c2.setId("2")
session1.addCoordinator(c1)
self.assert_(c1 in session1.getCoordinatorList())
self.assert_(len(session1.getCoordinatorList())==1)
self.assert_(session1.isCoordinator(c1))
self.assert_(not session1.isCoordinator(c2))
self.assert_(not session1.isCoordinator(None))
self.assert_(session1 in self._conf.getCoordinatedSessions(c1))
self.assert_(len(self._conf.getCoordinatedSessions(c1))==1)
self.assert_(len(self._conf.getCoordinatedSessions(c2))==0)
self._conf.addSessionCoordinator(session1,c1)
self.assert_(c1 in session1.getCoordinatorList())
self.assert_(len(session1.getCoordinatorList())==1)
self.assert_(session1.isCoordinator(c1))
self.assert_(not session1.isCoordinator(c2))
self.assert_(not session1.isCoordinator(None))
self.assert_(session1 in self._conf.getCoordinatedSessions(c1))
self.assert_(len(self._conf.getCoordinatedSessions(c1))==1)
self.assert_(len(self._conf.getCoordinatedSessions(c2))==0)
self._conf.addSessionCoordinator(session2,c2)
self.assert_(c2 in session2.getCoordinatorList())
self.assert_(not session1.isCoordinator(c2))
self.assert_(session2 in self._conf.getCoordinatedSessions(c2))
self.assert_(len(self._conf.getCoordinatedSessions(c1))==1)
self.assert_(len(self._conf.getCoordinatedSessions(c2))==1)
self._conf.addSession(session3)
session3.addCoordinator(c2)
self.assert_(c2 in session3.getCoordinatorList())
self.assert_(not session1.isCoordinator(c2))
self.assert_(session3 in self._conf.getCoordinatedSessions(c2))
self.assert_(session2 in self._conf.getCoordinatedSessions(c2))
self.assert_(len(self._conf.getCoordinatedSessions(c1))==1)
self.assert_(len(self._conf.getCoordinatedSessions(c2))==2)
self._conf.removeSession(session1)
self.assert_(session1 not in self._conf.getCoordinatedSessions(c1))
self.assert_(len(self._conf.getCoordinatedSessions(c1))==0)
self.assert_(len(self._conf.getCoordinatedSessions(c2))==2)
session2.removeCoordinator(c2)
self.assert_(c2 not in session2.getCoordinatorList())
self.assert_(c2 in session3.getCoordinatorList())
self.assert_(session3 in self._conf.getCoordinatedSessions(c2))
self.assert_(session2 not in self._conf.getCoordinatedSessions(c2))
self.assert_(len(self._conf.getCoordinatedSessions(c1))==0)
self.assert_(len(self._conf.getCoordinatedSessions(c2))==1)
开发者ID:lukasnellen,项目名称:indico,代码行数:50,代码来源:testSessions.py
示例20: setUp
def setUp(self):
super(TestTasks, self).setUp()
self._startDBReq()
PluginsHolder().updateAllPluginInfo()
PluginsHolder().getPluginType('calendaring').setActive(True)
PluginsHolder().getPluginType('calendaring').getPlugin('outlook').setActive(True)
# Create two dummy users
ah = AvatarHolder()
self._avatar1 = Avatar()
self._avatar1.setName("fake-1")
self._avatar1.setSurName("fake1")
self._avatar1.setOrganisation("fake1")
self._avatar1.setEmail("[email protected].fake")
ah.add(self._avatar1)
self._avatar2 = Avatar()
self._avatar2.setName("fake-2")
self._avatar2.setSurName("fake2")
self._avatar2.setOrganisation("fake2")
self._avatar2.setEmail("[email protected]")
ah.add(self._avatar2)
# Create two dummy conferences
category = conf.CategoryManager().getById('0')
ch = ConferenceHolder()
self._conf1 = category.newConference(self._avatar1)
self._conf1.setTimezone('UTC')
sd1 = datetime(2012, 12, 1, 10, 0, tzinfo=timezone('UTC'))
ed1 = datetime(2012, 12, 1, 18, 0, tzinfo=timezone('UTC'))
self._conf1.setDates(sd1, ed1)
ch.add(self._conf1)
self._conf2 = category.newConference(self._avatar2)
self._conf2.setTimezone('UTC')
sd2 = datetime(2012, 12, 10, 11, 0, tzinfo=timezone('UTC'))
ed2 = datetime(2012, 12, 11, 13, 0, tzinfo=timezone('UTC'))
self._conf2.setDates(sd2, ed2)
ch.add(self._conf2)
self._stopDBReq()
开发者ID:VishrutMehta,项目名称:indico,代码行数:42,代码来源:tasks_tests.py
注:本文中的MaKaC.user.Avatar类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论