2010-10-16 9 views

उत्तर

36

os.environ['CURRENT_VERSION_ID']

+6

यह पदावनत नहीं है। वर्तमान संस्करण प्राप्त करना इस तरह से बिल्कुल ठीक है। बहिष्कृत कुंजी APPLICATION_ID है और get_application_id() फ़ंक्शन का उपयोग इसके बजाय किया जाना चाहिए। –

+2

परिणाम 'my-version.383096322806301043' जैसा कुछ है, इसलिए यदि आप केवल संस्करण का नाम चाहते हैं तो डॉट पर विभाजित करें। मुझे लगता है कि दूसरा भाग एक टाइमस्टैम्प है, जो इस पृष्ठ पर मार्को के जवाब का निर्धारण करता है। – Pat

+1

पैट की प्रतिक्रिया के पूरक के लिए मैं इसे इस लाइन से निकालता हूं major_ver, minor_ver = os.en वातावरण.get ('CURRENT_VERSION_ID')। Rsplit ('।', 1); – user1961

17
String version = SystemProperty.version.get(); 
String applicationVersion = SystemProperty.applicationVersion.get(); 

इस वाक्य रचना है:

public static final SystemProperty applicationVersion 

आवेदन की वर्तमान में चल रहे संस्करण के साथ ही एक टाइमस्टैम्प, जिस पर यह तैनात किया गया था के लिए प्रमुख संस्करण संख्या। कुंजी है, "com.google.appengine.application.version"।

देखें here

पी एस। एक पहेली अभी भी बनी हुई है। संस्करण के बगल में टाइमस्टैम्प का अर्थ क्या है और इसे कैसे पढ़ा जाए ??

संपादित करें: रहस्य की कुंजी यहां दी गई है।

Date UploadDate = new Date(Long.parseLong(
    applicationVersion.substring(applicationVersion.lastIndexOf(‌​".")+1)) 
/(2 << 27) * 1000); 
+2

युग के बाद से सेकंड की संख्या के रूप में संस्करण के अंत में संख्या को बदलने के लिए, मूल्य को^^ 28 से विभाजित करें। देखें: इस बारे में GAE के लिए एक सुविधा अनुरोध के लिए http://code.google.com/p/googleappengine/issues/detail?id=5788। मैंने अभी इस सप्ताह (जून, 2012) से एक तैनात संस्करण पर परीक्षण किया, और इसके परिणामस्वरूप सही टाइमस्टैम्प हुआ। – mbafford

+2

तो मूल रूप से 'दिनांक अपलोडडेट = नई तिथि (Long.parseLong (applicationVersion.substring (applicationVersion.lastIndexOf ("।") + 1))/(2 << 27) * 1000); ' – husayt

9

पायथन के लिए (GAE एसडीके रिहाई: "1.4.2")

version_id = self.request.environ["CURRENT_VERSION_ID"].split('.')[1] 

timestamp = long(version_id)/pow(2,28) 

version = datetime.datetime.fromtimestamp(timestamp).strftime("%d/%m/%y %X") 

देखें http://groups.google.com/group/google-appengine-python/browse_thread/thread/f86010e7cf3c71b4

+1

' v << 28' है यदि आप 28 बिट्स द्वारा स्थानांतरित करना चाहते हैं, तो थोड़ा आसान है, और यदि आप पाउ करना चाहते हैं तो '2 ** 28' थोड़ा आसान है। – lericson

+1

इससे आपको संस्करण का समय मिलेगा। पहली पंक्ति में '[1]' के बजाय '[0]' लेना आपको संस्करण ही देगा। – asmeurer

संबंधित मुद्दे