Пример #1
0
def main():
    for batch in new_batches():
        url = bitly.shorten(batch['url'])
        json_url = batch['url'].strip('/') + '.json' 
        batch_info = json.loads(urllib.urlopen(json_url).read())
        name = format_name(batch['awardee'])
        msg = "%s newspaper pages were just loaded from %s %s" % \
            (batch_info['page_count'], name, url)
        twitter.tweet(msg)
        time.sleep(5)
Пример #2
0
def gettxt(cinfo,curzen,sitetag,sitelink):
  '''
    Generated formatted text for email alert
  '''
  txt = txtfmt%(cinfo.inst.capitalize(),\
                cinfo.trigid,\
                curzen,\
                shorten(cinfo.link),\
                sitelink)
  return txt
    def shortenWithBitly(self, text):
        """
        Shortens the URL in the text control using bit.ly

        Requires a bit.ly account and API key
        """
        bitly.API_LOGIN = "******"
        bitly.API_KEY = "api_key"
        URL = bitly.shorten(text)
        self.outputURLTxt.SetValue(URL)
Пример #4
0
def post_to_twitter(data):
    url = shorten('http://%s%s' % (site.domain, data.get_absolute_url()))
    post = '%s: %s' % (data.get_human_class_type(), data.name)
    if len(post) >= 130:
        post = post[:127] + '...'

    post_string = '%s %s' % (post, url)
    try:
        api.PostUpdate(post_string[:140])
    except HTTPError:
        pass
Пример #5
0
def twitter_msg(headline, date):
    # calculate how much tweet space there is for a snippet
    # 140 - (date + short_url + punctuation)
    d = datetime.datetime.strftime(date, '%b %d, %Y')
    remaining = 140 - (len(d) + 20 + 5) 
    snippet = headline['text'][0:remaining]

    # shorten the url
    url = "http://chroniclingamerica.loc.gov%s" % headline['page_id']
    short_url = bitly.shorten(url)

    msg = '%s: "%s" %s' % (d, snippet, short_url)
    return msg
Пример #6
0
 def print_result(self, *args):
     ''' Print a greeting constructed from
         the selections made by the user. '''
     print('%s, %s!' % (self.greeting.GetValue().title(),
                        bitly.shorten(self.recipient.GetValue())))
Пример #7
0
  rv = ''.join(rv)
  return rv

################################################################################

# Read in data from standard input
ogdata = sys.stdin.readlines()

sdata = clean(ogdata)
lk = getlink(sdata)
tb = gettbody(sdata)
pio = prepinfo(tb)
fmttw = formate(pio)

if lk!=None:
  shrtlk = shorten(lk)
  fmttw='%s. %s'%(fmttw,shrtlk)
else:
  log.write('Failed to find link.\n')

fmttw = fmttw.strip().replace('  ',' ').decode('unicode_escape')

try:
  # Create twitter authentication handler
  auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
  auth.set_access_token(key, secret)
  # Create interface to twitter API
  api = tweepy.API(auth)
except:
  log.write('Failed TAuth: %s\n'%fmttw)
    def get(self):
        label = str(self.request.get("label"))
        post_release = self.request.get("post_release")
        app_id = str(self.request.get("app_id"))
        show_all = self.request.get("show_all")
        show_all_checkbox = "checked" if show_all else ""
        if not label:
            label = "v0."

        apps = SZ_APPS

        socialize_opts, appmakr_opts = get_project_options(app_id)

        self.response.out.write(
            """
                                <html>
                                <body onLoad="document.forms[0].label.focus()">
                                <form method="GET" action="">
                                 PT Project ID:
                                    <select name=app_id>
                                        <optgroup label="Socialize">
                                            %s
                                        </optgroup>                                        
                                        <optgroup label="AppMakr">
                                            %s                                           
                                        </optgroup>
                                    </select>
                                 Release Label: <input type=text name=label value="%s" tabindex=0>
                                 <input type="checkbox" name="show_all" id="show_all_checkbox"  %s> <label for="show_all_checkbox">Show All &nbsp;&nbsp;&nbsp;</label>
                                 <input type=submit>
                                 &nbsp;&nbsp;&nbsp;<span style="font-size:10px;">(<a href="/publicize">View publicize stories</a>)</span>
                                 </form>
                                </body>
                                </html> 
                            """ %
            (socialize_opts, appmakr_opts, label, show_all_checkbox))

        if app_id:
            stories, story_count = get_pt_stories(app_id, label)

            html = ""
            release_status = "Sorry, no data for that search..."
            ready_for_release = True
            released_to_prod = True

            release_notes = ""
            release_notes_plain = ""
            if story_count > 0:
                release_notes = release_notes + "<ol id='copytext'>"
                for story in stories:
                    story_type = story.getElementsByTagName(
                        "story_type")[0].childNodes[0].data
                    current_state = story.getElementsByTagName(
                        "current_state")[0].childNodes[0].data

                    if current_state != "accepted":
                        ready_for_release = False
                        if story_type == "release":
                            released_to_prod = False

                    labels = story.getElementsByTagName(
                        "labels")[0].childNodes[0].data
                    if show_all or (not story_type in ["release", "chore"]
                                    and not "private" in labels):
                        name = story.getElementsByTagName(
                            "name")[0].childNodes[0].data
                        url = story.getElementsByTagName(
                            "url")[0].childNodes[0].data
                        labels = labels.replace(",", " ").replace(label, "")
                        release_notes = release_notes + "<li><p>[%s] <a href='%s'>%s</a> [ %s]<p></li>" % (
                            story_type, url, name, labels)
                        release_notes_plain = release_notes_plain + "<p> [%s] %s [ %s]</p>" % (
                            story_type, name, labels)

                release_notes = release_notes + "</ol>"
                html = html + release_notes

                html = html + """
                    <style>p.post a {font-size: 20px;text-decoration: none;}textarea {width:500px;height:100px;}p.norm {font-size:14px;} </style>
                    """

                if not show_all:
                    release_name = apps[app_id] + " " + label
                    release_name_slug = _slugify(apps[app_id] + " " + label)
                    bookmark = """<a name="%s"></a><br><br>""" % release_name_slug
                    release_notes_plain = bookmark + release_name + "<br><br>" + release_notes_plain
                    download = ""
                    if app_id == "293827" or app_id == "293829":
                        release_notes_plain = release_notes_plain + "<br><br>Download the latest SDK at http://www.getsocialize.com/sdk"
                        download = " get it at: https://github.com/socialize/socialize-sdk-android/downloads"
                        if app_id == "293827":
                            download = " get it at: https://github.com/socialize/socialize-sdk-ios/downloads"

                    get_sat_post = clean_text(release_notes_plain)
                    topic_url = bitly.shorten(
                        "http://support.getsocialize.com/socialize/topics/socialize_release_updates_published_on_this_thread#%s"
                        % release_name_slug)
                    tweet = "Released %s! More details at: %s %s" % (
                        release_name, topic_url, download)

                    html = html + """
                        <h3>Ready to publish this release to the boards?</h3>
                        """

                    release_form = ""
                    release_form = release_form + """ <form method="POST" action="/publish_release" > """
                    release_form = release_form + """ <input type="hidden" name="app_id" value="%s" /><input type="hidden" name="label" value="%s" /> """ % (
                        app_id, label)
                    release_form = release_form + """ <p class="norm">GetSat Post</p><textarea name="get_sat_post">%s</textarea>""" % get_sat_post
                    release_form = release_form + """ <p class="norm">Twitter Post</p><textarea name="tweet_post">%s</textarea> """ % tweet
                    release_form = release_form + """ <p class="norm"> <input type="submit" value="Post release to Twitter and GetSat" /></p> """
                    release_form = release_form + """ </form> """

                    html = html + release_form

                else:  #NOT SHOW ALL
                    bc_post_text = "See release info at: http://releasenotesgenerator.appspot.com?app_id=%s&label=%s&show_all=on" % (
                        app_id, label)
                    html = html + """<p>** <a href="?app_id=%s&label=%s">Uncheck "show all" to post release notes</a></p>""" % (
                        app_id, label)

                    if app_id != "293827" and app_id != "293829":  #ios and android dont have todos
                        create_release_form = ""
                        create_release_form = create_release_form + """ <form method="POST" action="/create_release" > """
                        create_release_form = create_release_form + """ <input type="hidden" name="app_id" value="%s" /><input type="hidden" name="label" value="%s" /> """ % (
                            app_id, label)
                        create_release_form = create_release_form + """ <p class="norm">BC Post Post</p><textarea name="bc_post">%s</textarea> """ % bc_post_text
                        create_release_form = create_release_form + """ <p class="norm"> <input type="submit" value="Create release in basecamp" /></p> """
                        create_release_form = create_release_form + """ </form> """
                        html = html + create_release_form

                if not ready_for_release:
                    release_status = "<h3 style='color:#900;'>Easy, tiger! This release is not ready for production yet...but it's in the cards.</h3>"
                elif released_to_prod:
                    release_status = "<h3>I think this release is already on production</h3>"
                else:
                    release_status = "<h3>Hmm...I see a release to prod in your future</h3>"

            html = release_status + html
            self.response.out.write(html)
Пример #9
0
    return rv


################################################################################

# Read in data from standard input
ogdata = sys.stdin.readlines()

sdata = clean(ogdata)
lk = getlink(sdata)
tb = gettbody(sdata)
pio = prepinfo(tb)
fmttw = formate(pio)

if lk != None:
    shrtlk = shorten(lk)
    fmttw = '%s. %s' % (fmttw, shrtlk)
else:
    log.write('Failed to find link.\n')

fmttw = fmttw.strip().replace('  ', ' ').decode('unicode_escape')

try:
    # Create twitter authentication handler
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(key, secret)
    # Create interface to twitter API
    api = tweepy.API(auth)
except:
    log.write('Failed TAuth: %s\n' % fmttw)
    def get(self):

        label = str(self.request.get("label"))
        post_release = self.request.get("post_release")
        app_id = str(self.request.get("app_id"))
        show_all = self.request.get("show_all")
        show_all_checkbox = "checked" if show_all else ""
        if not label:
            label = "v0."

        apps = SZ_APPS
        
        socialize_opts, appmakr_opts = get_project_options(app_id)

        self.response.out.write("""
                                <html>
                                <body onLoad="document.forms[0].label.focus()">
                                <form method="GET" action="">
                                 PT Project ID:
                                    <select name=app_id>
                                        <optgroup label="Socialize">
                                            %s
                                        </optgroup>                                        
                                        <optgroup label="AppMakr">
                                            %s                                           
                                        </optgroup>
                                    </select>
                                 Release Label: <input type=text name=label value="%s" tabindex=0>
                                 <input type="checkbox" name="show_all" id="show_all_checkbox"  %s> <label for="show_all_checkbox">Show All &nbsp;&nbsp;&nbsp;</label>
                                 <input type=submit>
                                 &nbsp;&nbsp;&nbsp;<span style="font-size:10px;">(<a href="/publicize">View publicize stories</a>)</span>
                                 </form>
                                </body>
                                </html> 
                            """ % (socialize_opts, appmakr_opts, label, show_all_checkbox) )
        
        if app_id:
            stories, story_count = get_pt_stories(app_id, label)
            
            html = ""
            release_status = "Sorry, no data for that search..."
            ready_for_release = True
            released_to_prod = True
            
            release_notes = ""
            release_notes_plain = ""
            
            print "STORY COUNT %s" % story_count
            if story_count > 0:
                release_notes = release_notes + "<ol id='copytext'>"
                for story in stories:
                  story_type = story.getElementsByTagName("story_type")[0].childNodes[0].data
                  current_state = story.getElementsByTagName("current_state")[0].childNodes[0].data  
              
                  if current_state != "accepted":
                      ready_for_release = False
                      if story_type == "release":
                          released_to_prod = False
                  
                  labels = ""
                  if len(story.getElementsByTagName("labels")) > 0:
                      labels = story.getElementsByTagName("labels")[0].childNodes[0].data
                  if show_all or (not story_type in ["release", "chore"] and not "private" in labels):
                    name = story.getElementsByTagName("name")[0].childNodes[0].data
                    url = story.getElementsByTagName("url")[0].childNodes[0].data                    
                    labels = labels.replace(",", " ").replace(label, "")
                    release_notes = release_notes + "<li><p>[%s] <a href='%s'>%s</a> [ %s]<p></li>" % ( story_type, url, name, labels)
                    release_notes_plain = release_notes_plain + "<p> [%s] %s [ %s]</p>" % ( story_type, name, labels)
                    
                release_notes = release_notes + "</ol>"
                html = html + release_notes
                
                html = html + """
                    <style>p.post a {font-size: 20px;text-decoration: none;}textarea {width:500px;height:100px;}p.norm {font-size:14px;} </style>
                    """
                    
                if not show_all:
                    release_name = apps[app_id] + " " + label
                    release_name_slug = _slugify(apps[app_id] + " " + label)
                    bookmark = """<a name="%s"></a><br><br>""" % release_name_slug
                    release_notes_plain = bookmark + release_name + "<br><br>" + release_notes_plain
                    download = ""
                    if app_id == "293827" or app_id == "293829":
                        release_notes_plain = release_notes_plain + "<br><br>Download the latest SDK at http://www.getsocialize.com/sdk"
                        download = " get it at: https://github.com/socialize/socialize-sdk-android/downloads"
                        if app_id == "293827":
                            download = " get it at: https://github.com/socialize/socialize-sdk-ios/downloads"

                    get_sat_post = clean_text(release_notes_plain)
                    topic_url = bitly.shorten("http://support.getsocialize.com/socialize/topics/socialize_release_updates_published_on_this_thread#%s" % release_name_slug)
                    tweet = "Released %s! More details at: %s %s" % (release_name, topic_url, download)


                    html = html + """
                        <h3>Ready to publish this release to the boards?</h3>
                        """

                    release_form = ""
                    release_form = release_form + """ <form method="POST" action="/publish_release" > """
                    release_form = release_form + """ <input type="hidden" name="app_id" value="%s" /><input type="hidden" name="label" value="%s" /> """ % (app_id, label)
                    release_form = release_form + """ <p class="norm">GetSat Post</p><textarea name="get_sat_post">%s</textarea>""" % get_sat_post
                    release_form = release_form + """ <p class="norm">Twitter Post</p><textarea name="tweet_post">%s</textarea> """ % tweet
                    release_form = release_form + """ <p class="norm"> <input type="submit" value="Post release to Twitter and GetSat" /></p> """
                    release_form = release_form + """ </form> """

                    html = html + release_form

                else: #NOT SHOW ALL
                    bc_post_text = "See release info at: http://releasenotesgenerator.appspot.com?app_id=%s&label=%s&show_all=on" % (app_id, label)
                    html = html + """<p>** <a href="?app_id=%s&label=%s">Uncheck "show all" to post release notes</a></p>""" % (app_id, label)
                    
                    if app_id != "293827" and app_id != "293829": #ios and android dont have todos
                        create_release_form = ""
                        create_release_form = create_release_form + """ <form method="POST" action="/create_release" > """
                        create_release_form = create_release_form + """ <input type="hidden" name="app_id" value="%s" /><input type="hidden" name="label" value="%s" /> """ % (app_id, label)
                        create_release_form = create_release_form + """ <p class="norm">BC Post Post</p><textarea name="bc_post">%s</textarea> """ % bc_post_text
                        create_release_form = create_release_form + """ <p class="norm"> <input type="submit" value="Create release in basecamp" /></p> """
                        create_release_form = create_release_form + """ </form> """
                        html = html + create_release_form
                    
                if not ready_for_release:
                    release_status = "<h3 style='color:#900;'>Easy, tiger! This release is not ready for production yet...but it's in the cards.</h3>"
                elif released_to_prod:
                    release_status = "<h3>I think this release is already on production</h3>"
                else:
                    release_status = "<h3>Hmm...I see a release to prod in your future</h3>"

            
            html = release_status + html
            self.response.out.write(html)