diff options
author | Li-Wen Hsu <lwhsu@FreeBSD.org> | 2009-11-21 07:50:53 +0000 |
---|---|---|
committer | Li-Wen Hsu <lwhsu@FreeBSD.org> | 2009-11-21 07:50:53 +0000 |
commit | 7134bd18ab20438055303e70f1bb187010398504 (patch) | |
tree | 4e46d7798d3a5e9c0019c00a177ac44d9760010d /devel/py-gdata | |
parent | cbfda45aa269b8e8ab0470fce934f82b1b51b11b (diff) |
Notes
Diffstat (limited to 'devel/py-gdata')
-rw-r--r-- | devel/py-gdata/Makefile | 27 | ||||
-rw-r--r-- | devel/py-gdata/distinfo | 6 | ||||
-rw-r--r-- | devel/py-gdata/files/extra-patch-src_atom-mock_service.py | 13 | ||||
-rw-r--r-- | devel/py-gdata/files/extra-patch-src_gdata_tlslite-TLSRecordLayer.py | 46 | ||||
-rw-r--r-- | devel/py-gdata/files/extra-patch-src_gdata_tlslite-mathls.py | 69 | ||||
-rw-r--r-- | devel/py-gdata/files/extra-patch-src_gdata_tlslite-messages.py | 22 | ||||
-rw-r--r-- | devel/py-gdata/files/extra-patch-src_gdata_tlslite_utils-cryptomath.py | 20 | ||||
-rw-r--r-- | devel/py-gdata/files/extra-patch-src_gdata_tlslite_utils-jython_compat.py | 29 | ||||
-rw-r--r-- | devel/py-gdata/pkg-descr | 27 | ||||
-rw-r--r-- | devel/py-gdata/pkg-plist | 65 |
10 files changed, 300 insertions, 24 deletions
diff --git a/devel/py-gdata/Makefile b/devel/py-gdata/Makefile index 8cf168607b50..92ffd4e6d66a 100644 --- a/devel/py-gdata/Makefile +++ b/devel/py-gdata/Makefile @@ -6,7 +6,7 @@ # PORTNAME= gdata -PORTVERSION= 2.0.0 +PORTVERSION= 2.0.4 CATEGORIES= devel python MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE} PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -18,6 +18,11 @@ PROJECTHOST= gdata-python-client USE_PYTHON= yes USE_PYDISTUTILS= yes +# optional modules (see src/gdata/tlslite/utils/cryptomath.py) +OPTIONS= M2CRYPTO "Add cryptography and SSL toolkit for Python" off \ + PYCRYPTO "Add cryptography toolkit for Python" off \ + GMPY "Add multiprecision arithmetic for Python" off + EXAMPLESDIR= ${PREFIX}/share/examples/py-${PORTNAME} .include <bsd.port.pre.mk> @@ -26,6 +31,26 @@ EXAMPLESDIR= ${PREFIX}/share/examples/py-${PORTNAME} RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/elementtree/__init__.py:${PORTSDIR}/devel/py-elementtree .endif +# avoid warning with Python > 2.5 +.if ${PYTHON_REL} > 250 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_atom-mock_service.py \ + ${FILESDIR}/extra-patch-src_gdata_tlslite-mathls.py \ + ${FILESDIR}/extra-patch-src_gdata_tlslite-messages.py \ + ${FILESDIR}/extra-patch-src_gdata_tlslite-TLSRecordLayer.py \ + ${FILESDIR}/extra-patch-src_gdata_tlslite_utils-cryptomath.py \ + ${FILESDIR}/extra-patch-src_gdata_tlslite_utils-jython_compat.py +.endif + +.if defined(WITH_M2CRYPTO) +RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/M2Crypto/__init__.py:${PORTSDIR}/security/py-m2crypto +.endif +.if defined(WITH_PYCRYPTO) +RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/Crypto/__init__.py:${PORTSDIR}/security/py-pycrypto +.endif +.if defined(WITH_GMPY) +RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/gmpy.so:${PORTSDIR}/math/py-gmpy +.endif + .if !defined(NOPORTEXAMPLES) post-install: @${MKDIR} ${EXAMPLESDIR} diff --git a/devel/py-gdata/distinfo b/devel/py-gdata/distinfo index 51f5c8b2cbc6..9b753b5d6b1c 100644 --- a/devel/py-gdata/distinfo +++ b/devel/py-gdata/distinfo @@ -1,3 +1,3 @@ -MD5 (gdata-2.0.0.tar.gz) = 09de4e7a958cc2584e159b07185bdd31 -SHA256 (gdata-2.0.0.tar.gz) = 7ef2fbd46eeaa6bc1e6c93214fee2962598de5279b5110369a376746eef70f78 -SIZE (gdata-2.0.0.tar.gz) = 1070675 +MD5 (gdata-2.0.4.tar.gz) = 41dc20f46aa9d6584dfb268f7c4b73b8 +SHA256 (gdata-2.0.4.tar.gz) = ccd52834e0670adcb3e13f96eb61d61a25a77a9b0deda01eb2c3285e86d7384f +SIZE (gdata-2.0.4.tar.gz) = 1284173 diff --git a/devel/py-gdata/files/extra-patch-src_atom-mock_service.py b/devel/py-gdata/files/extra-patch-src_atom-mock_service.py new file mode 100644 index 000000000000..eeeb6b64fb40 --- /dev/null +++ b/devel/py-gdata/files/extra-patch-src_atom-mock_service.py @@ -0,0 +1,13 @@ +--- src/atom/mock_service.py.orig 2008-09-03 23:11:05.000000000 +0200 ++++ src/atom/mock_service.py 2009-11-03 21:39:47.358018717 +0100 +@@ -34,8 +34,8 @@ + real_request_handler = None + + def ConcealValueWithSha(source): +- import sha +- return sha.new(source[:-5]).hexdigest() ++ import hashlib ++ return hashlibsha1.new(source[:-5]).hexdigest() + + def DumpRecordings(conceal_func=ConcealValueWithSha): + if conceal_func: diff --git a/devel/py-gdata/files/extra-patch-src_gdata_tlslite-TLSRecordLayer.py b/devel/py-gdata/files/extra-patch-src_gdata_tlslite-TLSRecordLayer.py new file mode 100644 index 000000000000..68949ab471fd --- /dev/null +++ b/devel/py-gdata/files/extra-patch-src_gdata_tlslite-TLSRecordLayer.py @@ -0,0 +1,46 @@ +--- src/gdata/tlslite/TLSRecordLayer.py.orig 2008-12-02 03:35:33.000000000 +0100 ++++ src/gdata/tlslite/TLSRecordLayer.py 2009-11-03 21:51:47.220882123 +0100 +@@ -12,8 +12,7 @@ + from utils.cryptomath import getRandomBytes + from utils import hmac + from FileObject import FileObject +-import sha +-import md5 ++import hashlib + import socket + import errno + import traceback +@@ -116,8 +115,8 @@ + self._readBuffer = "" + + #Handshake digests +- self._handshake_md5 = md5.md5() +- self._handshake_sha = sha.sha() ++ self._handshake_md5 = hashlib.md5() ++ self._handshake_sha = hashlib.sha1() + + #TLS Protocol Version + self.version = (0,0) #read-only +@@ -935,8 +934,8 @@ + + def _handshakeStart(self, client): + self._client = client +- self._handshake_md5 = md5.md5() +- self._handshake_sha = sha.sha() ++ self._handshake_md5 = hashlib.md5() ++ self._handshake_sha = hashlib.sha1() + self._handshakeBuffer = [] + self.allegedSharedKeyUsername = None + self.allegedSrpUsername = None +@@ -1114,9 +1113,9 @@ + imac_md5.update(label + masterSecretStr + '\x36'*48) + imac_sha.update(label + masterSecretStr + '\x36'*40) + +- md5Str = md5.md5(masterSecretStr + ('\x5c'*48) + \ ++ md5Str = hashlib.md5(masterSecretStr + ('\x5c'*48) + \ + imac_md5.digest()).digest() +- shaStr = sha.sha(masterSecretStr + ('\x5c'*40) + \ ++ shaStr = hashlib.sha1(masterSecretStr + ('\x5c'*40) + \ + imac_sha.digest()).digest() + + return stringToBytes(md5Str + shaStr) diff --git a/devel/py-gdata/files/extra-patch-src_gdata_tlslite-mathls.py b/devel/py-gdata/files/extra-patch-src_gdata_tlslite-mathls.py new file mode 100644 index 000000000000..5938e8a270af --- /dev/null +++ b/devel/py-gdata/files/extra-patch-src_gdata_tlslite-mathls.py @@ -0,0 +1,69 @@ +--- src/gdata/tlslite/mathtls.py.orig 2008-12-02 03:35:35.000000000 +0100 ++++ src/gdata/tlslite/mathtls.py 2009-11-03 21:45:19.140316480 +0100 +@@ -4,8 +4,7 @@ + from utils.cryptomath import * + + import hmac +-import md5 +-import sha ++import hashlib + + #1024, 1536, 2048, 3072, 4096, 6144, and 8192 bit groups] + goodGroupParameters = [(2,0xEEAF0AB9ADB38DD69C33F80AFA8FC5E86072618775FF3C0B9EA2314C9C256576D674DF7496EA81D3383B4813D692C6E0E0D5D8E250B98BE48E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D4982559B297BCF1885C529F566660E57EC68EDBC3C05726CC02FD4CBF4976EAA9AFD5138FE8376435B9FC61D2FC0EB06E3),\ +@@ -38,8 +37,10 @@ + S2 = secret[ int(math.floor(len(secret)/2.0)) : ] + + #Run the left half through P_MD5 and the right half through P_SHA1 +- p_md5 = P_hash(md5, S1, concatArrays(stringToBytes(label), seed), length) +- p_sha1 = P_hash(sha, S2, concatArrays(stringToBytes(label), seed), length) ++ p_md5 = P_hash(hashlib.md5, S1, concatArrays(stringToBytes(label), \ ++ seed), length) ++ p_sha1 = P_hash(hashlib.sha1, S2, concatArrays(stringToBytes(label), \ ++ seed), length) + + #XOR the output values and return the result + for x in range(length): +@@ -54,8 +55,8 @@ + index = 0 + for x in range(26): + A = chr(ord('A')+x) * (x+1) # 'A', 'BB', 'CCC', etc.. +- input = secretStr + sha.sha(A + secretStr + seedStr).digest() +- output = md5.md5(input).digest() ++ input = secretStr + hashlib.sha1(A + secretStr + seedStr).digest() ++ output = hashlib.md5(input).digest() + for c in output: + if index >= length: + return bytes +@@ -68,7 +69,8 @@ + raise ValueError("username too long") + if len(salt)>=256: + raise ValueError("salt too long") +- return stringToNumber(sha.sha(salt + sha.sha(username + ":" + password)\ ++ return stringToNumber(hashlib.sha1(salt + \ ++ hashlib.sha1(username + ":" + password)\ + .digest()).digest()) + + #This function is used by VerifierDB.makeVerifier +@@ -88,10 +90,10 @@ + return s + + def makeU(N, A, B): +- return stringToNumber(sha.sha(PAD(N, A) + PAD(N, B)).digest()) ++ return stringToNumber(hashlib.sha1(PAD(N, A) + PAD(N, B)).digest()) + + def makeK(N, g): +- return stringToNumber(sha.sha(numberToString(N) + PAD(N, g)).digest()) ++ return stringToNumber(hashlib.sha1(numberToString(N) + PAD(N, g)).digest()) + + + """ +@@ -113,8 +115,7 @@ + digestmod: A module supporting PEP 247. Defaults to the md5 module. + """ + if digestmod is None: +- import md5 +- digestmod = md5 ++ digestmod = hashlib.md5 + + if key == None: #TREVNEW - for faster copying + return #TREVNEW diff --git a/devel/py-gdata/files/extra-patch-src_gdata_tlslite-messages.py b/devel/py-gdata/files/extra-patch-src_gdata_tlslite-messages.py new file mode 100644 index 000000000000..b8945df772ac --- /dev/null +++ b/devel/py-gdata/files/extra-patch-src_gdata_tlslite-messages.py @@ -0,0 +1,22 @@ +--- src/gdata/tlslite/messages.py.orig 2008-12-02 03:35:34.000000000 +0100 ++++ src/gdata/tlslite/messages.py 2009-11-03 21:48:12.189964805 +0100 +@@ -8,8 +8,7 @@ + from X509 import X509 + from X509CertChain import X509CertChain + +-import sha +-import md5 ++import hashlib + + class RecordHeader3: + def __init__(self): +@@ -405,7 +404,8 @@ + try: + bytes = clientRandom + serverRandom + self.write()[4:] + s = bytesToString(bytes) +- return stringToBytes(md5.md5(s).digest() + sha.sha(s).digest()) ++ return stringToBytes(hashlib.md5(s).digest() \ ++ + hashlib.sha1(s).digest()) + finally: + self.cipherSuite = oldCipherSuite + diff --git a/devel/py-gdata/files/extra-patch-src_gdata_tlslite_utils-cryptomath.py b/devel/py-gdata/files/extra-patch-src_gdata_tlslite_utils-cryptomath.py new file mode 100644 index 000000000000..257943ae1fde --- /dev/null +++ b/devel/py-gdata/files/extra-patch-src_gdata_tlslite_utils-cryptomath.py @@ -0,0 +1,20 @@ +--- src/gdata/tlslite/utils/cryptomath.py.orig 2008-12-02 03:35:26.000000000 +0100 ++++ src/gdata/tlslite/utils/cryptomath.py 2009-11-03 21:06:12.475992458 +0100 +@@ -6,7 +6,7 @@ + import math + import base64 + import binascii +-import sha ++import hashlib + + from compat import * + +@@ -195,7 +195,7 @@ + return int(math.ceil(bits / 8.0)) + + def hashAndBase64(s): +- return stringToBase64(sha.sha(s).digest()) ++ return stringToBase64(hashlib.sha1(s).digest()) + + def getBase64Nonce(numChars=22): #defaults to an 132 bit nonce + bytes = getRandomBytes(numChars) diff --git a/devel/py-gdata/files/extra-patch-src_gdata_tlslite_utils-jython_compat.py b/devel/py-gdata/files/extra-patch-src_gdata_tlslite_utils-jython_compat.py new file mode 100644 index 000000000000..126066c65aa3 --- /dev/null +++ b/devel/py-gdata/files/extra-patch-src_gdata_tlslite_utils-jython_compat.py @@ -0,0 +1,29 @@ +--- src/gdata/tlslite/utils/jython_compat.py.orig 2008-12-02 03:35:28.000000000 +0100 ++++ src/gdata/tlslite/utils/jython_compat.py 2009-11-03 21:55:05.916366480 +0100 +@@ -1,7 +1,7 @@ + """Miscellaneous functions to mask Python/Jython differences.""" + + import os +-import sha ++import hashlib + + if os.name != "java": + BaseException = Exception +@@ -43,7 +43,7 @@ + + #Factory function for getting a SHA1 object + def getSHA1(s): +- return sha.sha(s) ++ return hashlib.sha1(s) + + import sys + import traceback +@@ -175,7 +175,7 @@ + #release, and needs to be patched + def getSHA1(s): + #return JCE_SHA1(s) +- return sha.sha(s) ++ return hashlib.sha1(s) + + + #Adjust the string to an array of bytes diff --git a/devel/py-gdata/pkg-descr b/devel/py-gdata/pkg-descr index b8499ac860e4..be89e8439daa 100644 --- a/devel/py-gdata/pkg-descr +++ b/devel/py-gdata/pkg-descr @@ -3,23 +3,16 @@ writing data on the web. Each of the following Google services provides a Google data API: - * Base - * Blogger - * Calendar - * Health - * Picasa Web Albums - * Spreadsheets - * Documents List - * Contacts - * YouTube - * Google Apps Provisioning - * Code Search - * Notebook - * Webmaster Tools API - * Google Analytics Data Export API - * Google Book Search Data API - * Google Finance Portfolio Data API - * Google Maps Data API + * Base * Code Search + * Blogger * Notebook + * Calendar * Webmaster Tools API + * Health * Google Analytics Data Export API + * Picasa Web Albums * Google Book Search Data API + * Spreadsheets * Google Finance Portfolio Data API + * Documents List * Google Maps Data API + * Contacts * Sites Data API + * YouTube * Issue Tracker Data API + * Google Apps Provisioning The GData Python Client Library provides a library and source code that make it easy to access data through Google Data APIs. diff --git a/devel/py-gdata/pkg-plist b/devel/py-gdata/pkg-plist index 208a40e05784..882dc9828dc5 100644 --- a/devel/py-gdata/pkg-plist +++ b/devel/py-gdata/pkg-plist @@ -124,6 +124,12 @@ %%PYTHON_SITELIBDIR%%/gdata/apps/__init__.py %%PYTHON_SITELIBDIR%%/gdata/apps/__init__.pyc %%PYTHON_SITELIBDIR%%/gdata/apps/__init__.pyo +%%PYTHON_SITELIBDIR%%/gdata/apps/adminsettings/__init__.py +%%PYTHON_SITELIBDIR%%/gdata/apps/adminsettings/__init__.pyc +%%PYTHON_SITELIBDIR%%/gdata/apps/adminsettings/__init__.pyo +%%PYTHON_SITELIBDIR%%/gdata/apps/adminsettings/service.py +%%PYTHON_SITELIBDIR%%/gdata/apps/adminsettings/service.pyc +%%PYTHON_SITELIBDIR%%/gdata/apps/adminsettings/service.pyo %%PYTHON_SITELIBDIR%%/gdata/apps/emailsettings/__init__.py %%PYTHON_SITELIBDIR%%/gdata/apps/emailsettings/__init__.pyc %%PYTHON_SITELIBDIR%%/gdata/apps/emailsettings/__init__.pyo @@ -223,6 +229,15 @@ %%PYTHON_SITELIBDIR%%/gdata/health/service.py %%PYTHON_SITELIBDIR%%/gdata/health/service.pyc %%PYTHON_SITELIBDIR%%/gdata/health/service.pyo +%%PYTHON_SITELIBDIR%%/gdata/maps/__init__.py +%%PYTHON_SITELIBDIR%%/gdata/maps/__init__.pyc +%%PYTHON_SITELIBDIR%%/gdata/maps/__init__.pyo +%%PYTHON_SITELIBDIR%%/gdata/maps/client.py +%%PYTHON_SITELIBDIR%%/gdata/maps/client.pyc +%%PYTHON_SITELIBDIR%%/gdata/maps/client.pyo +%%PYTHON_SITELIBDIR%%/gdata/maps/data.py +%%PYTHON_SITELIBDIR%%/gdata/maps/data.pyc +%%PYTHON_SITELIBDIR%%/gdata/maps/data.pyo %%PYTHON_SITELIBDIR%%/gdata/media/__init__.py %%PYTHON_SITELIBDIR%%/gdata/media/__init__.pyc %%PYTHON_SITELIBDIR%%/gdata/media/__init__.pyo @@ -238,12 +253,30 @@ %%PYTHON_SITELIBDIR%%/gdata/photos/service.py %%PYTHON_SITELIBDIR%%/gdata/photos/service.pyc %%PYTHON_SITELIBDIR%%/gdata/photos/service.pyo +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/__init__.py +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/__init__.pyc +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/__init__.pyo +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/client.py +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/client.pyc +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/client.pyo +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/data.py +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/data.pyc +%%PYTHON_SITELIBDIR%%/gdata/projecthosting/data.pyo %%PYTHON_SITELIBDIR%%/gdata/sample_util.py %%PYTHON_SITELIBDIR%%/gdata/sample_util.pyc %%PYTHON_SITELIBDIR%%/gdata/sample_util.pyo %%PYTHON_SITELIBDIR%%/gdata/service.py %%PYTHON_SITELIBDIR%%/gdata/service.pyc %%PYTHON_SITELIBDIR%%/gdata/service.pyo +%%PYTHON_SITELIBDIR%%/gdata/sites/__init__.py +%%PYTHON_SITELIBDIR%%/gdata/sites/__init__.pyc +%%PYTHON_SITELIBDIR%%/gdata/sites/__init__.pyo +%%PYTHON_SITELIBDIR%%/gdata/sites/client.py +%%PYTHON_SITELIBDIR%%/gdata/sites/client.pyc +%%PYTHON_SITELIBDIR%%/gdata/sites/client.pyo +%%PYTHON_SITELIBDIR%%/gdata/sites/data.py +%%PYTHON_SITELIBDIR%%/gdata/sites/data.pyc +%%PYTHON_SITELIBDIR%%/gdata/sites/data.pyo %%PYTHON_SITELIBDIR%%/gdata/spreadsheet/__init__.py %%PYTHON_SITELIBDIR%%/gdata/spreadsheet/__init__.pyc %%PYTHON_SITELIBDIR%%/gdata/spreadsheet/__init__.pyo @@ -253,12 +286,18 @@ %%PYTHON_SITELIBDIR%%/gdata/spreadsheet/text_db.py %%PYTHON_SITELIBDIR%%/gdata/spreadsheet/text_db.pyc %%PYTHON_SITELIBDIR%%/gdata/spreadsheet/text_db.pyo +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/__init__.py +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/__init__.pyc +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/__init__.pyo +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/client.py +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/client.pyc +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/client.pyo +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/data.py +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/data.pyc +%%PYTHON_SITELIBDIR%%/gdata/spreadsheets/data.pyo %%PYTHON_SITELIBDIR%%/gdata/test_config.py %%PYTHON_SITELIBDIR%%/gdata/test_config.pyc %%PYTHON_SITELIBDIR%%/gdata/test_config.pyo -%%PYTHON_SITELIBDIR%%/gdata/test_config_template.py -%%PYTHON_SITELIBDIR%%/gdata/test_config_template.pyc -%%PYTHON_SITELIBDIR%%/gdata/test_config_template.pyo %%PYTHON_SITELIBDIR%%/gdata/test_data.py %%PYTHON_SITELIBDIR%%/gdata/test_data.pyc %%PYTHON_SITELIBDIR%%/gdata/test_data.pyo @@ -462,10 +501,14 @@ @dirrm %%PYTHON_SITELIBDIR%%/gdata/tlslite/utils @dirrm %%PYTHON_SITELIBDIR%%/gdata/tlslite/integration @dirrm %%PYTHON_SITELIBDIR%%/gdata/tlslite +@dirrm %%PYTHON_SITELIBDIR%%/gdata/spreadsheets @dirrm %%PYTHON_SITELIBDIR%%/gdata/spreadsheet +@dirrm %%PYTHON_SITELIBDIR%%/gdata/sites +@dirrm %%PYTHON_SITELIBDIR%%/gdata/projecthosting @dirrm %%PYTHON_SITELIBDIR%%/gdata/photos @dirrm %%PYTHON_SITELIBDIR%%/gdata/oauth @dirrm %%PYTHON_SITELIBDIR%%/gdata/media +@dirrm %%PYTHON_SITELIBDIR%%/gdata/maps @dirrm %%PYTHON_SITELIBDIR%%/gdata/health @dirrm %%PYTHON_SITELIBDIR%%/gdata/geo @dirrm %%PYTHON_SITELIBDIR%%/gdata/finance @@ -480,6 +523,7 @@ @dirrm %%PYTHON_SITELIBDIR%%/gdata/apps/migration @dirrm %%PYTHON_SITELIBDIR%%/gdata/apps/groups @dirrm %%PYTHON_SITELIBDIR%%/gdata/apps/emailsettings +@dirrm %%PYTHON_SITELIBDIR%%/gdata/apps/adminsettings @dirrm %%PYTHON_SITELIBDIR%%/gdata/apps @dirrm %%PYTHON_SITELIBDIR%%/gdata/analytics @dirrm %%PYTHON_SITELIBDIR%%/gdata/alt @@ -491,6 +535,7 @@ @dirrm %%PYTHON_SITELIBDIR%%/gdata/Crypto @dirrm %%PYTHON_SITELIBDIR%%/gdata @dirrm %%PYTHON_SITELIBDIR%%/atom +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/apps/adminsettings_example.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/authsub/secure_authsub.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/base/baseAttributesQueryExample.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/base/baseItemTypesQueryExample.py @@ -504,11 +549,19 @@ %%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/app/list_blogs.html %%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/app/post_editor.html %%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/app/welcome.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/oauth-appengine/app.yaml +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/oauth-appengine/css/index.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/oauth-appengine/index.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/oauth-appengine/index.yaml +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/oauth-appengine/main.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/blogger/oauth-appengine/oauth.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/calendar/calendarExample.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/codesearch/CodesearchExample.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/contacts/contacts_example.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/contacts/profiles_example.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/docs/docs_example.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/finance/test_finance.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/maps/MapsExample.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/mashups/birthdaySample.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/oauth/2_legged_oauth.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/oauth/oauth_example.py @@ -535,12 +588,14 @@ %%PORTEXAMPLES%%%%EXAMPLESDIR%%/oauth/oauth_on_appengine/js/jquery.corners.min.js %%PORTEXAMPLES%%%%EXAMPLESDIR%%/oauth/oauth_on_appengine/main_hmac.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/oauth/oauth_on_appengine/main_rsa.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sites/sites_example.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/spreadsheets/spreadsheetExample.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/webmastertools/AddDeleteExampleDotCom.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/webmastertools/SitemapsFeedSummary.py %%PORTEXAMPLES%%%%EXAMPLESDIR%%/webmastertools/SitesFeedSummary.py %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/webmastertools %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/spreadsheets +%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/sites %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/oauth/oauth_on_appengine/js %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/oauth/oauth_on_appengine/images %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/oauth/oauth_on_appengine/css @@ -548,13 +603,17 @@ %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/oauth/oauth_on_appengine %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/oauth %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/mashups +%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/maps %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/finance %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/docs %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/contacts %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/codesearch %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/calendar +%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/blogger/oauth-appengine/css +%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/blogger/oauth-appengine %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/blogger/app %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/blogger %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/base %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/authsub +%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/apps %%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%% |