Exemplo n.º 1
0
	def testMatch(self):
		ad = Adata('age-chrome.json')

		self.assertTrue(ad.getDate(['20']) >= \
		 	ad.getDate(['12']) >= \
			ad.getDate(['10']) >= \
			ad.getDate(['5']) >= \
			ad.getDate(['1']))
Exemplo n.º 2
0
    def testMatch(self):
        ad = Adata('age-chrome.json')

        self.assertTrue(ad.getDate(['20']) >= \
          ad.getDate(['12']) >= \
         ad.getDate(['10']) >= \
         ad.getDate(['5']) >= \
         ad.getDate(['1']))
Exemplo n.º 3
0
	def test0thDelta2(self):
		ad = Adata('age-msie.json')

		ad.releases = []
		ad.releases.append(ReleaseItem(['1', '9', '0'], date(2000, 1, 1)))
		ad.releases.append(ReleaseItem(['2', '0', '0'], date(2000, 1, 2)))
		ad.loadDeltas()
		self.assertEqual(len(ad.deltas.viewkeys()), 1)
		self.assertTrue(ad.deltas.get(0))

		for d in ad.deltas[0]:
			self.assertEqual(d['delta'].days, 1)
Exemplo n.º 4
0
    def test0thDelta2(self):
        ad = Adata('age-msie.json')

        ad.releases = []
        ad.releases.append(ReleaseItem(['1', '9', '0'], date(2000, 1, 1)))
        ad.releases.append(ReleaseItem(['2', '0', '0'], date(2000, 1, 2)))
        ad.loadDeltas()
        self.assertEqual(len(ad.deltas.viewkeys()), 1)
        self.assertTrue(ad.deltas.get(0))

        for d in ad.deltas[0]:
            self.assertEqual(d['delta'].days, 1)
Exemplo n.º 5
0
class BrpSafari(BrowserParser):

	def __init__(self):
		super(BrpSafari, self).__init__()
		self.ageData = AgeData('age-safari.json')

	def getParseOrder(self):
		return 5

	def doesMatch(self, ua):
		return ua and 'safari' in ua

	def getBrowser(self):
		return 'safari'

	def getReleaseDate(self, ua):
		""" http://en.wikipedia.org/wiki/Safari_version_history """
		#matches = re.compile('safari/[a-z0-9\.]*').search(ua)
		matches = re.compile('version/[a-z0-9\.]*').search(ua)
		if not matches:
			return None
		self.verfull = matches.group().split('/')
		self.vernums = self.verfull[1].split('.')

		return self.ageData.getDate(self.vernums)
Exemplo n.º 6
0
class BrpMsie(BrowserParser):
    def __init__(self):
        super(BrpMsie, self).__init__()
        self.ageData = AgeData('age-msie.json')

    def getParseOrder(self):
        return 3

    def doesMatch(self, ua):
        return ua and 'msie' in ua

    def getBrowser(self):
        return 'msie'

    def getReleaseDate(self, ua):
        """http://en.wikipedia.org/wiki/Timeline_of_web_browsers"""
        matches = re.compile('msie [a-z0-9\.]*').search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split(' ')
        self.vernums = self.verfull[1].split('.')
        return self.ageData.getDate(self.vernums)
Exemplo n.º 7
0
class BrpMsie(BrowserParser):
    def __init__(self):
        super(BrpMsie, self).__init__()
        self.ageData = AgeData("age-msie.json")

    def getParseOrder(self):
        return 3

    def doesMatch(self, ua):
        return ua and "msie" in ua

    def getBrowser(self):
        return "msie"

    def getReleaseDate(self, ua):
        """http://en.wikipedia.org/wiki/Timeline_of_web_browsers"""
        matches = re.compile("msie [a-z0-9\.]*").search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split(" ")
        self.vernums = self.verfull[1].split(".")
        return self.ageData.getDate(self.vernums)
Exemplo n.º 8
0
class BrpFirefox(BrowserParser):
    def __init__(self):
        super(BrpFirefox, self).__init__()
        self.ageData = AgeData("age-firefox.json")

    def getParseOrder(self):
        return 2

    def doesMatch(self, ua):
        return ua and "firefox" in ua

    def getBrowser(self):
        return "firefox"

    def getReleaseDate(self, ua):
        # https://wiki.mozilla.org/Releases/Old/2011
        matches = re.compile("firefox/[a-z0-9\.]*").search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split("/")
        self.vernums = self.verfull[1].split(".")

        return self.ageData.getDate(self.vernums)
Exemplo n.º 9
0
class BrpOpera(BrowserParser):
    def __init__(self):
        super(BrpOpera, self).__init__()
        self.ageData = AgeData("age-opera.json")

    def getParseOrder(self):
        return 4

    def doesMatch(self, ua):
        return ua and "opera" in ua

    def getBrowser(self):
        return "opera"

    def getReleaseDate(self, ua):
        """ http://www.opera.com/docs/history/#o1202 """
        matches = re.compile("version/[a-z0-9\.]*").search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split("/")
        self.vernums = self.verfull[1].split(".")

        return self.ageData.getDate(self.vernums)
Exemplo n.º 10
0
class BrpFirefox(BrowserParser):
    def __init__(self):
        super(BrpFirefox, self).__init__()
        self.ageData = AgeData('age-firefox.json')

    def getParseOrder(self):
        return 2

    def doesMatch(self, ua):
        return ua and 'firefox' in ua

    def getBrowser(self):
        return 'firefox'

    def getReleaseDate(self, ua):
        # https://wiki.mozilla.org/Releases/Old/2011
        matches = re.compile('firefox/[a-z0-9\.]*').search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split('/')
        self.vernums = self.verfull[1].split('.')

        return self.ageData.getDate(self.vernums)
Exemplo n.º 11
0
class BrpChrome(BrowserParser):
    def __init__(self):
        super(BrpChrome, self).__init__()
        self.ageData = AgeData('age-chrome.json', propLimit=0)

    def getParseOrder(self):
        return 1

    def doesMatch(self, ua):
        return ua and 'chrome' in ua

    def getBrowser(self):
        return 'chrome'

    def getReleaseDate(self, ua):
        # http://www.oldapps.com/google_chrome.php
        matches = re.compile('chrome/[a-z0-9\.]*').search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split('/')
        self.vernums = self.verfull[1].split('.')

        return self.ageData.getDate(self.vernums)
Exemplo n.º 12
0
class BrpWebkit(BrowserParser):
    def __init__(self):
        super(BrpWebkit, self).__init__()
        self.ageData = AgeData("age-webkit.json")

    def getParseOrder(self):
        return 6

    def doesMatch(self, ua):
        return ua and "webkit" in ua

    def getBrowser(self):
        return "webkit"

    def getReleaseDate(self, ua):
        """ http://en.wikipedia.org/wiki/Safari_version_history """
        matches = re.compile("safari/[a-z0-9\.]*").search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split("/")
        self.vernums = self.verfull[1].split(".")

        return self.ageData.getDate(self.vernums)
Exemplo n.º 13
0
class BrpWebkit(BrowserParser):
    def __init__(self):
        super(BrpWebkit, self).__init__()
        self.ageData = AgeData('age-webkit.json')

    def getParseOrder(self):
        return 6

    def doesMatch(self, ua):
        return ua and 'webkit' in ua

    def getBrowser(self):
        return 'webkit'

    def getReleaseDate(self, ua):
        """ http://en.wikipedia.org/wiki/Safari_version_history """
        matches = re.compile('safari/[a-z0-9\.]*').search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split('/')
        self.vernums = self.verfull[1].split('.')

        return self.ageData.getDate(self.vernums)
Exemplo n.º 14
0
class BrpOpera(BrowserParser):
    def __init__(self):
        super(BrpOpera, self).__init__()
        self.ageData = AgeData('age-opera.json')

    def getParseOrder(self):
        return 4

    def doesMatch(self, ua):
        return ua and 'opera' in ua

    def getBrowser(self):
        return 'opera'

    def getReleaseDate(self, ua):
        """ http://www.opera.com/docs/history/#o1202 """
        matches = re.compile('version/[a-z0-9\.]*').search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split('/')
        self.vernums = self.verfull[1].split('.')

        return self.ageData.getDate(self.vernums)
Exemplo n.º 15
0
class BrpChrome(BrowserParser):
    def __init__(self):
        super(BrpChrome, self).__init__()
        self.ageData = AgeData("age-chrome.json", propLimit=0)

    def getParseOrder(self):
        return 1

    def doesMatch(self, ua):
        return ua and "chrome" in ua

    def getBrowser(self):
        return "chrome"

    def getReleaseDate(self, ua):
        # http://www.oldapps.com/google_chrome.php
        # http://googlechromereleases.blogspot.com/search/label/Stable%20updates
        matches = re.compile("chrome/[a-z0-9\.]*").search(ua)
        if not matches:
            return None
        self.verfull = matches.group().split("/")
        self.vernums = self.verfull[1].split(".")

        return self.ageData.getDate(self.vernums)
Exemplo n.º 16
0
class BrpChrome(BrowserParser):

	def __init__(self):
		super(BrpChrome, self).__init__()
		self.ageData = AgeData('age-chrome.json', propLimit=0)

	def getParseOrder(self):
		return 1

	def doesMatch(self, ua):
		return ua and 'chrome' in ua

	def getBrowser(self):
		return 'chrome'

	def getReleaseDate(self, ua):
		# http://www.oldapps.com/google_chrome.php
		matches = re.compile('chrome/[a-z0-9\.]*').search(ua)
		if not matches:
			return None
		self.verfull = matches.group().split('/')
		self.vernums = self.verfull[1].split('.')

		return self.ageData.getDate(self.vernums)
Exemplo n.º 17
0
 def __init__(self):
     super(BrpWebkit, self).__init__()
     self.ageData = AgeData("age-webkit.json")
Exemplo n.º 18
0
 def __init__(self):
     super(BrpSafari, self).__init__()
     self.ageData = AgeData("age-safari.json")
Exemplo n.º 19
0
 def __init__(self):
     super(BrpWebkit, self).__init__()
     self.ageData = AgeData('age-webkit.json')
Exemplo n.º 20
0
 def __init__(self):
     super(BrpOpera, self).__init__()
     self.ageData = AgeData("age-opera.json")
Exemplo n.º 21
0
 def __init__(self):
     super(BrpChrome, self).__init__()
     self.ageData = AgeData('age-chrome.json', propLimit=0)
Exemplo n.º 22
0
	def test0thDeltaWithSteps(self):
		ad = Adata('age-msie.json')

		# CREATE
		ad.releases = []
		ad.releases.append(ReleaseItem(['0', '9', '0'], date(2000, 1, 1)))
		ad.releases.append(ReleaseItem(['1', '1', '0'], date(2000, 1, 3)))
		ad.releases.append(ReleaseItem(['1', '2', '0'], date(2000, 1, 4)))
		ad.releases.append(ReleaseItem(['2'], date(2000, 1, 5)))
		ad.releases.sort()
		ad.normalizeVersionLengths()
		ad.loadDeltas()

		# VALIDATE LOADING
		self.assertEqual(len(ad.deltas.viewkeys()), 2)
		self.assertTrue(ad.deltas.get(0))
		self.assertTrue(ad.deltas.get(1))

		for d in ad.deltas[0]:
			self.assertEqual(d['delta'].days, 2)
		self.assertEqual(ad.deltasAvg[0], timedelta(2))

		# VALIDATE PROPAGATION
		self.assertEqual(ad.getDate([3,0,0]), date(2000,1,7))
		print ad.getDate([3,0,0])
		print ad.getDate([4,0,0])
		print ad.getDate([3,5,0])
		print ad.getDate([3,0,1])
		print ad.getDate([3,0,0,1])
		print ad.getDate([2,5,0,1])
Exemplo n.º 23
0
 def __init__(self):
     super(BrpSafari, self).__init__()
     self.ageData = AgeData('age-safari.json')
Exemplo n.º 24
0
 def __init__(self):
     super(BrpFirefox, self).__init__()
     self.ageData = AgeData('age-firefox.json')
Exemplo n.º 25
0
 def __init__(self):
     super(BrpChrome, self).__init__()
     self.ageData = AgeData("age-chrome.json", propLimit=0)
Exemplo n.º 26
0
    def test0thDeltaWithSteps(self):
        ad = Adata('age-msie.json')

        # CREATE
        ad.releases = []
        ad.releases.append(ReleaseItem(['0', '9', '0'], date(2000, 1, 1)))
        ad.releases.append(ReleaseItem(['1', '1', '0'], date(2000, 1, 3)))
        ad.releases.append(ReleaseItem(['1', '2', '0'], date(2000, 1, 4)))
        ad.releases.append(ReleaseItem(['2'], date(2000, 1, 5)))
        ad.releases.sort()
        ad.normalizeVersionLengths()
        ad.loadDeltas()

        # VALIDATE LOADING
        self.assertEqual(len(ad.deltas.viewkeys()), 2)
        self.assertTrue(ad.deltas.get(0))
        self.assertTrue(ad.deltas.get(1))

        for d in ad.deltas[0]:
            self.assertEqual(d['delta'].days, 2)
        self.assertEqual(ad.deltasAvg[0], timedelta(2))

        # VALIDATE PROPAGATION
        self.assertEqual(ad.getDate([3, 0, 0]), date(2000, 1, 7))
        print ad.getDate([3, 0, 0])
        print ad.getDate([4, 0, 0])
        print ad.getDate([3, 5, 0])
        print ad.getDate([3, 0, 1])
        print ad.getDate([3, 0, 0, 1])
        print ad.getDate([2, 5, 0, 1])
Exemplo n.º 27
0
 def __init__(self):
     super(BrpFirefox, self).__init__()
     self.ageData = AgeData("age-firefox.json")
Exemplo n.º 28
0
 def __init__(self):
     super(BrpOpera, self).__init__()
     self.ageData = AgeData('age-opera.json')
Exemplo n.º 29
0
 def __init__(self):
     super(BrpMsie, self).__init__()
     self.ageData = AgeData("age-msie.json")
Exemplo n.º 30
0
 def __init__(self):
     super(BrpMsie, self).__init__()
     self.ageData = AgeData('age-msie.json')