Author: mseidel
Date: Sat Sep 28 14:12:02 2024
New Revision: 1921007

URL: http://svn.apache.org/viewvc?rev=1921007&view=rev
Log:
Update script for Python 3 (thanks to Damjan)

Added:
    openoffice/devtools/aoo-stats/get-aoo-stats.py.old
Modified:
    openoffice/devtools/aoo-stats/get-aoo-stats.py

Modified: openoffice/devtools/aoo-stats/get-aoo-stats.py
URL: 
http://svn.apache.org/viewvc/openoffice/devtools/aoo-stats/get-aoo-stats.py?rev=1921007&r1=1921006&r2=1921007&view=diff
==============================================================================
--- openoffice/devtools/aoo-stats/get-aoo-stats.py (original)
+++ openoffice/devtools/aoo-stats/get-aoo-stats.py Sat Sep 28 14:12:02 2024
@@ -19,21 +19,17 @@
 #
 ################################################################
 
-
 # This script queries the SourceForge REST API for download statistics for
 # sets of files on SourceForge, on a given date, in ISO format (YYYY-MM-DD)
 # passed in as a command line argument. The download count for that date
 # is written to stdout.
 
-
-import urllib
+import urllib.request
 import json
 import sys
 import datetime
 import time
 
-from urllib import urlencode
-
 def getSourceForgeStats(download, startDate, endDate):
 
     url = download + "/stats/json?start_date=" + startDate + "&" "end_date=" + 
endDate
@@ -42,22 +38,22 @@ def getSourceForgeStats(download, startD
 
     while attempts < 3:
         try:
-            conn = urllib.urlopen(url)
+            conn = urllib.request.urlopen(url)
             data = conn.read()
 
             return data
 
         except:
             attempts += 1
-            print "error " + str(attempts)
+            print("error " + str(attempts))
 
     return ""
 
 def printSyntax():
-    print "syntax: python get-aoo-stats.py <urls.lst> <iso-date> [<iso-date>]"
-    print "where <urls.lst> is a list of files URLs to gather stats on,"
-    print "and <iso-date> is a date of interest, in YYYY-MM-DD format."
-    print "If two dates are given this expresses a range of dates."
+    print("syntax: python get-aoo-stats.py <urls.lst> <iso-date> [<iso-date>]")
+    print("where <urls.lst> is a list of files URLs to gather stats on,")
+    print("and <iso-date> is a date of interest, in YYYY-MM-DD format.")
+    print("If two dates are given this expresses a range of dates.")
 
 
 if len(sys.argv) == 2:
@@ -73,10 +69,11 @@ else:
     printSyntax()
     exit(-1)
 
-# all of the URLs for AOO 3.4 install downloads
+# all of the URLs for AOO install downloads
 downloads = [line.strip() for line in open(sys.argv[1])]
 
 count = 0
+data = {}
 
 for download in downloads :
 
@@ -89,11 +86,11 @@ for download in downloads :
 
     day_count = data["total"]
 
-    print download + "," + str(day_count)
+    print(download + "," + str(day_count))
 
     count = count + day_count
 
-print "date range: " + startDate + " - " + endDate
-print "stats_updated: " + data["stats_updated"]
-print "count: " + str(count)
+print("date range: " + startDate + " - " + endDate)
+print("stats_updated: " + data["stats_updated"])
+print("count: " + str(count))
 

Added: openoffice/devtools/aoo-stats/get-aoo-stats.py.old
URL: 
http://svn.apache.org/viewvc/openoffice/devtools/aoo-stats/get-aoo-stats.py.old?rev=1921007&view=auto
==============================================================================
--- openoffice/devtools/aoo-stats/get-aoo-stats.py.old (added)
+++ openoffice/devtools/aoo-stats/get-aoo-stats.py.old Sat Sep 28 14:12:02 2024
@@ -0,0 +1,99 @@
+################################################################
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#
+################################################################
+
+
+# This script queries the SourceForge REST API for download statistics for
+# sets of files on SourceForge, on a given date, in ISO format (YYYY-MM-DD)
+# passed in as a command line argument. The download count for that date
+# is written to stdout.
+
+
+import urllib
+import json
+import sys
+import datetime
+import time
+
+from urllib import urlencode
+
+def getSourceForgeStats(download, startDate, endDate):
+
+    url = download + "/stats/json?start_date=" + startDate + "&" "end_date=" + 
endDate
+
+    attempts = 0
+
+    while attempts < 3:
+        try:
+            conn = urllib.urlopen(url)
+            data = conn.read()
+
+            return data
+
+        except:
+            attempts += 1
+            print "error " + str(attempts)
+
+    return ""
+
+def printSyntax():
+    print "syntax: python get-aoo-stats.py <urls.lst> <iso-date> [<iso-date>]"
+    print "where <urls.lst> is a list of files URLs to gather stats on,"
+    print "and <iso-date> is a date of interest, in YYYY-MM-DD format."
+    print "If two dates are given this expresses a range of dates."
+
+
+if len(sys.argv) == 2:
+    startDate = datetime.date.today().isoformat()
+    endDate = startDate
+elif len(sys.argv) == 3:
+    startDate = sys.argv[2]
+    endDate = startDate
+elif len(sys.argv) == 4:
+    startDate = sys.argv[2]
+    endDate = sys.argv[3]
+else:
+    printSyntax()
+    exit(-1)
+
+# all of the URLs for AOO 3.4 install downloads
+downloads = [line.strip() for line in open(sys.argv[1])]
+
+count = 0
+
+for download in downloads :
+
+    try:
+
+        data = json.loads(getSourceForgeStats(download,startDate,endDate))
+
+    except ValueError:
+        continue
+
+    day_count = data["total"]
+
+    print download + "," + str(day_count)
+
+    count = count + day_count
+
+print "date range: " + startDate + " - " + endDate
+print "stats_updated: " + data["stats_updated"]
+print "count: " + str(count)
+


Reply via email to