コード例 #1
0
ファイル: jira.py プロジェクト: jangnezda/cuely-backend
def start_synchronization(user, update=False):
    """ Run initial syncing of issues data in Jira. """
    if should_sync(user, 'jira-oauth', 'tasks.jira'):
        collect_issues.delay(requester=user, sync_update=update)
    else:
        logger.info(
            "Jira oauth token for user '%s' already in use, skipping sync ...",
            user.username)
コード例 #2
0
ファイル: help_scout.py プロジェクト: jangnezda/cuely-backend
def start_synchronization(user, update=False):
    """ Run initial syncing of deals data in pipedrive. """
    if should_sync(user, 'helpscout-apikeys', 'tasks.help_scout'):
        collect_customers.delay(requester=user, update=update)
    else:
        logger.info(
            "Helpscout api key for user '%s' already in use, skipping sync ...",
            user.username)
コード例 #3
0
ファイル: github.py プロジェクト: jangnezda/cuely-backend
def start_synchronization(user):
    """ Run initial syncing of repo and issues data in pipedrive. """
    if should_sync(user, 'github', 'tasks.github'):
        collect_repos.delay(requester=user)
    else:
        logger.info(
            "Github oauth token for user '%s' already in use, skipping sync ...",
            user.username)
コード例 #4
0
ファイル: gdrive.py プロジェクト: jangnezda/cuely-backend
def update_synchronization():
    """
    Check for new/updated files in external systems for all users. Should be called periodically after initial syncing.
    Gdrive-only at the moment.
    """
    logger.debug("Update synchronizations started")
    for sa in SocialAttributes.objects.filter(start_page_token__isnull=False):
        if should_sync(sa.user, 'google-oauth2', 'tasks.gdrive'):
            if sa.user.social_auth.filter(provider='google-oauth2').first():
                access_token, refresh_token = get_google_tokens(sa.user)
                subtask(sync_gdrive_changes).delay(sa.user, access_token, refresh_token, sa.start_page_token)
        else:
            logger.info("Gdrive oauth token for user '%s' already in use, skipping sync ...", sa.user.username)
コード例 #5
0
ファイル: gdrive.py プロジェクト: jangnezda/cuely-backend
def start_synchronization(user):
    """ Run initial syncing of user's data in external systems. Gdrive-only at the moment. """
    if should_sync(user, 'google-oauth2', 'tasks.gdrive'):
        access_token, refresh_token = get_google_tokens(user)

        # ## gdrive ###################
        # 1. Set the marker to have a reference point for later calls to gdrive changes api.
        #    Without setting this starting point, changes api won't return any changes.
        service = connect_to_gdrive(access_token, refresh_token)
        response = service.changes().getStartPageToken().execute()
        SocialAttributes.objects.update_or_create(
            user=user, defaults={'start_page_token': response.get('startPageToken')})

        # 2. Start the synchronization
        collect_gdrive_docs.delay(user, access_token, refresh_token)
    else:
        logger.info("Gdrive oauth token for user '%s' already in use, skipping sync ...", user.username)
コード例 #6
0
ファイル: pipedrive.py プロジェクト: jangnezda/cuely-backend
def start_synchronization(user):
    """ Run initial syncing of deals data in pipedrive. """
    if should_sync(user, 'pipedrive-apikeys', 'tasks.pipedrive'):
        collect_deals.delay(requester=user)
    else:
        logger.info("Pipedrive api key for user '%s' already in use, skipping sync ...", user.username)
コード例 #7
0
def start_synchronization(user):
    """ Run initial syncing of boards data in trello. """
    if should_sync(user, 'trello', 'tasks.trello'):
        collect_boards.delay(requester=user)
    else:
        logger.info("Trello oauth token for user '%s' already in use, skipping sync ...", user.username)