def authenticate():
    token_dir = "temp" + os.sep + "tokens" + os.sep

    if not os.path.exists(token_dir):
        os.makedirs(token_dir)

    app_key_path = token_dir + "APP_KEY.pkl"
    app_secret_path = token_dir + "APP_SECRET.pkl"
    final_oauth_token_path = token_dir + "FINAL_OAUTH_TOKEN.pkl"
    final_oauth_token_secret_path = token_dir + "FINAL_OAUTH_TOKEN_SECRET.pkl"

    exists = os.path.isfile(app_key_path) and os.path.isfile(app_secret_path)

    if exists:
        app_key = pickle.load(open(app_key_path, "rb"))
        app_secret = pickle.load(open(app_secret_path, "rb"))
    else:
        app_key = raw_input("Enter your APP_KEY:")
        app_secret = raw_input("Enter your APP_SECRET:")

        pickle.dump(app_key, open(app_key_path, "wb"))
        pickle.dump(app_secret, open(app_secret_path, "wb"))

    exists = os.path.isfile(final_oauth_token_path) and os.path.isfile(
        final_oauth_token_secret_path)

    if exists:

        final_oauth_token = pickle.load(open(final_oauth_token_path, "rb"))
        final_oauth_token_secret = pickle.load(
            open(final_oauth_token_secret_path, "rb"))

    else:

        t = Twython(app_key, app_secret)

        auth = t.get_authentication_tokens()

        oauth_token = auth["oauth_token"]
        oauth_token_secret = auth["oauth_token_secret"]

        url = auth["auth_url"]
        webbrowser.open(url)

        oauth_verifier = raw_input("Enter your pin:")

        t = Twython(app_key, app_secret, oauth_token, oauth_token_secret)

        final_step = t.get_authorized_tokens(oauth_verifier)

        final_oauth_token = final_step["oauth_token"]
        final_oauth_token_secret = final_step["oauth_token_secret"]

        pickle.dump(final_oauth_token, open(final_oauth_token_path, "wb"))
        pickle.dump(final_oauth_token_secret,
                    open(final_oauth_token_secret_path, "wb"))

    return [app_key, app_secret, final_oauth_token, final_oauth_token_secret]
Esempio n. 2
0
 def __init__(self):
     if settings.DEBUG:
         self.twitter = TwitterDebugLogger()
     else:
         self.twitter = Twython(settings.CONSUMER_KEY,
                                settings.CONSUMER_SECRET,
                                settings.OAUTH_TOKEN,
                                settings.OAUTH_TOKEN_SECRET)
def postTwitter(tweet):
    try:
        twitter = Twython(CUSTOMER_KEY, CUSTOMER_SECRET, ACCESS_TOKEN,
                          ACCESS_TOKEN_SECRET)
        twitter.update_status(status=tweet)
        return 'Tweet posted!'
    except Exception as e:
        print e
        return 'Check your internet connection.'
Esempio n. 4
0
 def __init__(self, user, *args, **kwargs):
     self.user = user
     self.social_token = SocialToken.objects.filter(
         app__provider='twitter',
         account__provider='twitter',
         account__user=user)
     self.social_app = SocialApp.objects.filter(
         id=self.social_token.get().app.id)
     self.twitter = Twython(self.social_app.get().client_id,
                            self.social_app.get().secret,
                            self.social_token.get().token,
                            self.social_token.get().token_secret)
     self.twitter.verify_credentials()
Esempio n. 5
0
def del_jobpost_tw(user, post):
    user = User.objects.filter(id=user).first()
    if user:
        user_twitter = Twitter.objects.filter(user=user).first()
        twitter = Twython(settings.TW_APP_KEY, settings.TW_APP_SECRET,
                          user_twitter.oauth_token, user_twitter.oauth_secret)
        try:
            twitter.destroy_status(id=post.post_id)
            post = TwitterPost.objects.filter(id=post)
            post.delete()
        except:
            print("not deleted")
    else:
        return "connect to twitter"
        if f:
            f.close()


def tweet(text=None, media_id=None, in_reply_to_status_id=None):
    media_ids = None
    if media_id:
        media_ids = [media_id]
    twitter.update_status(status=text,
                          media_ids=media_ids,
                          in_reply_to_status_id=in_reply_to_status_id)


tokens = authenticate()
twitter = Twython(app_key=tokens[0],
                  app_secret=tokens[1],
                  oauth_token=tokens[2],
                  oauth_token_secret=tokens[3])
stream = MyStreamer(app_key=tokens[0],
                    app_secret=tokens[1],
                    oauth_token=tokens[2],
                    oauth_token_secret=tokens[3])

camera = cv2.VideoCapture(0)

take_photo()


def start():
    start_schedule()
    start_stream()
def twitter_login(request):

    if "oauth_verifier" in request.GET:
        oauth_verifier = request.GET["oauth_verifier"]
        twitter = Twython(
            settings.PJ_TW_APP_KEY,
            settings.PJ_TW_APP_SECRET,
            request.session["OAUTH_TOKEN"],
            request.session["OAUTH_TOKEN_SECRET"],
        )
        final_step = twitter.get_authorized_tokens(oauth_verifier)
        if not final_step.get("oauth_token_secret"):
            return render(
                request,
                "404.html",
                {
                    "message": "Sorry, Your session has been expired",
                    "reason": "Please kindly try again to update your profile",
                    "email": settings.DEFAULT_FROM_EMAIL,
                    "number": settings.CONTACT_NUMBER,
                },
                status=404,
            )
        twitter = Twython(
            settings.PJ_TW_APP_KEY,
            settings.PJ_TW_APP_SECRET,
            final_step["oauth_token"],
            final_step["oauth_token_secret"],
        )
        followers = twitter.get_followers_list(
            screen_name=final_step["screen_name"])
        friends = twitter.get_friends_list(
            screen_name=final_step["screen_name"])

        if not request.user.is_tw_connected and request.user.is_authenticated:
            Twitter.objects.create(
                user=request.user,
                twitter_id=final_step.get("user_id", ""),
                screen_name=final_step.get("screen_name", ""),
                oauth_token=final_step.get("oauth_token", ""),
                oauth_secret=final_step.get("oauth_token_secret", ""),
            )

        add_twitter_friends_followers.delay(request.user.id, friends,
                                            followers)

        if request.is_mobile == "mobile":
            return HttpResponseRedirect("/jobs/")
        if request.session.get("job_id"):
            log_apply = login_and_apply(request)
            if log_apply:
                return HttpResponseRedirect(log_apply[0].slug + "?job_apply=" +
                                            log_apply[1])
        return HttpResponseRedirect(reverse("my:profile"))
    else:
        twitter = Twython(settings.PJ_TW_APP_KEY, settings.PJ_TW_APP_SECRET)
        url = (request.scheme + "://" + request.META["HTTP_HOST"] +
               reverse("social:twitter_login"))
        auth = twitter.get_authentication_tokens(callback_url=url)
        request.session["OAUTH_TOKEN"] = auth["oauth_token"]
        request.session["OAUTH_TOKEN_SECRET"] = auth["oauth_token_secret"]
        return HttpResponseRedirect(auth["auth_url"])