def sync(confId):
    DBMgr.getInstance().startRequest()
    conf = ConferenceHolder().getById(confId)
    counter = []

    if conf is None:
        raise Exception("Error fetching conference")
    else:
        for abstract in conf.getAbstractMgr().getAbstractList():
            if isinstance(abstract.getCurrentStatus(), AbstractStatusAccepted):
                contrib = abstract.getContribution()
                contrib.setTitle(abstract.getTitle())
                contrib.setDescription(abstract.getField('content'))
                contrib.setField('summary', abstract.getField('summary'))
                contrib.setTrack(abstract.getCurrentStatus().getTrack())
                contrib.setType(abstract.getCurrentStatus().getType())

                for auth1 in contrib.getPrimaryAuthorList()[:]:
                    contrib.removePrimaryAuthor(auth1)
                for auth2 in contrib.getCoAuthorList()[:]:
                    contrib.removeCoAuthor(auth2)
                for auth3 in contrib.getSpeakerList()[:]:
                    contrib.removeSpeaker(auth3)
                for auth in abstract.getAuthorList():
                    c_auth = ContributionParticipation()
                    contrib._setAuthorValuesFromAbstract(c_auth, auth)
                    if abstract.isPrimaryAuthor(auth):
                        contrib.addPrimaryAuthor(c_auth)
                    else:
                        contrib.addCoAuthor(c_auth)
                    if abstract.isSpeaker(auth):
                        contrib.addSpeaker(c_auth)

                # TODO: remove the previous submitter...how???
                submitter = contrib.getAbstract().getSubmitter().getUser()
                contrib._grantSubmission(submitter)
                counter.append(contrib.getId())

    DBMgr.getInstance().endRequest()
    print "%s contributions synchronized (%s)" % (len(counter),
                                                  ', '.join(counter))
def sync(confId):
    DBMgr.getInstance().startRequest()
    conf = ConferenceHolder().getById(confId)
    counter = []

    if conf is None:
        raise Exception("Error fetching conference")
    else:
        for abstract in conf.getAbstractMgr().getAbstractList():
            if isinstance(abstract.getCurrentStatus(), AbstractStatusAccepted):
                contrib = abstract.getContribution()
                contrib.setTitle(abstract.getTitle())
                contrib.setDescription(abstract.getField('content'))
                contrib.setField('summary', abstract.getField('summary'))
                contrib.setTrack(abstract.getCurrentStatus().getTrack())
                contrib.setType(abstract.getCurrentStatus().getType())

                for auth1 in contrib.getPrimaryAuthorList()[:]:
                    contrib.removePrimaryAuthor(auth1)
                for auth2 in contrib.getCoAuthorList()[:]:
                    contrib.removeCoAuthor(auth2)
                for auth3 in contrib.getSpeakerList()[:]:
                    contrib.removeSpeaker(auth3)
                for auth in abstract.getAuthorList():
                    c_auth = ContributionParticipation()
                    contrib._setAuthorValuesFromAbstract(c_auth, auth)
                    if abstract.isPrimaryAuthor(auth):
                        contrib.addPrimaryAuthor(c_auth)
                    else:
                        contrib.addCoAuthor(c_auth)
                    if abstract.isSpeaker(auth):
                        contrib.addSpeaker(c_auth)

                # TODO: remove the previous submitter...how???
                submitter = contrib.getAbstract().getSubmitter().getUser()
                contrib._grantSubmission(submitter)
                counter.append(contrib.getId())

    DBMgr.getInstance().endRequest()
    print "%s contributions synchronized (%s)" % (len(counter),
                                                  ', '.join(counter))
## along with CDS Indico; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

from MaKaC.common import DBMgr
from MaKaC.conference import ConferenceHolder, ContributionParticipation
from MaKaC.review import AbstractStatusAccepted

conferenceId = ""

DBMgr.getInstance().startRequest()
conf = ConferenceHolder().getById(conferenceId)
counter = []
if conf is None:
    print "Error fetching conference"
else:
    for abstract in conf.getAbstractMgr().getAbstractList():
        if isinstance(abstract.getCurrentStatus(), AbstractStatusAccepted):
            contrib = abstract.getContribution()
            contrib.setTitle(abstract.getTitle())
            contrib.setDescription(abstract.getContent())
            contrib.setSummary(abstract.getSummary())
            contrib.setTrack(abstract.getCurrentStatus().getTrack())
            contrib.setType(abstract.getCurrentStatus().getType())
            for auth1 in contrib.getPrimaryAuthorList()[:]:
                contrib.removePrimaryAuthor(auth1)
            for auth2 in contrib.getCoAuthorList()[:]:
                contrib.removeCoAuthor(auth2)
            for auth3 in contrib.getSpeakerList()[:]:
                contrib.removeSpeaker(auth3)
            for auth in abstract.getAuthorList():
                c_auth = ContributionParticipation()
## along with CDS Indico; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

from MaKaC.common import DBMgr
from MaKaC.conference import ConferenceHolder, ContributionParticipation
from MaKaC.review import AbstractStatusAccepted

conferenceId=""

DBMgr.getInstance().startRequest()
conf=ConferenceHolder().getById(conferenceId)
counter=[]
if conf is None:
    print "Error fetching conference"
else:
    for abstract in conf.getAbstractMgr().getAbstractList():
        if isinstance(abstract.getCurrentStatus(), AbstractStatusAccepted):
            contrib=abstract.getContribution()
            contrib.setTitle( abstract.getTitle() )
            contrib.setDescription( abstract.getContent() )
            contrib.setSummary( abstract.getSummary() )
            contrib.setTrack( abstract.getCurrentStatus().getTrack() )
            contrib.setType( abstract.getCurrentStatus().getType() )
            for auth1 in contrib.getPrimaryAuthorList()[:]:
                contrib.removePrimaryAuthor(auth1)
            for auth2 in contrib.getCoAuthorList()[:]:
                contrib.removeCoAuthor(auth2)
            for auth3 in contrib.getSpeakerList()[:]:
                contrib.removeSpeaker(auth3)
            for auth in abstract.getAuthorList():
                c_auth = ContributionParticipation()