Skip to content

Commit

Permalink
Add .travis.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
howie6879 committed Mar 7, 2018
1 parent 6807697 commit 4e11cce
Show file tree
Hide file tree
Showing 13 changed files with 51 additions and 52 deletions.
10 changes: 10 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
language: python

notifications:
email: false

python:
- "3.5"
- "3.6"

script: python -m unittest discover -s tests/
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ class MySettings(Settings):
# JsonSerializer, PickleSerializer or StrSerializer
'serializer': None
}

@cached(**MySettings.cache, ttl=1000)
def parse(url, params=None, **kwargs):
return "{0}: {1}".format(url, 'hello')
Expand Down
2 changes: 1 addition & 1 deletion examples/cache_demo.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env python
"""
Tips for human caches: there are several simple caching schemes we provide for you, and you can use the following ways.
Tips for Humans:there are several simple caching schemes we provide for you, and you can use the following ways.
- Use RedisCache,MemcachedCache,MemoryCache class directly
- Use cached decorator
"""
Expand Down
12 changes: 1 addition & 11 deletions expire/__init__.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
from .cache_setting import CacheSetting
from .cache_setting import CacheSetting, Settings
from .decorator import cached
from .memcached_cache import MemcachedCache
from .memory_cache import MemoryCache
from .redis_cache import RedisCache
from .serializer import JsonSerializer, PickleSerializer, StrSerializer


class Settings:
"""Global Settings"""
cache = {
'cache_class': MemoryCache,
'cache_config': {},
'serializer': None,
'ttl': None
}
1 change: 0 additions & 1 deletion expire/base_cache.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env python
import abc


Expand Down
18 changes: 10 additions & 8 deletions expire/cache_setting.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
#!/usr/bin/env python


from expire.memory_cache import MemoryCache


class Settings:
"""Global Settings"""
cache = {
'cache_class': MemoryCache,
'cache_config': {},
'serializer': None,
'ttl': None
}


class CacheSetting:
"""
Expand All @@ -13,11 +19,7 @@ class CacheSetting:
- cache_config: basic configuration, just like redis's host port db password etc.
- serializer: such as JsonSerializer PickleSerializer.
"""
cache_dict = {
'cache_class': MemoryCache,
'cache_config': {},
'serializer': None
}
cache_dict = Settings.cache

def __init__(self, settings=None):
self.cache = getattr(settings, 'cache', self.cache_dict)
Expand Down
1 change: 0 additions & 1 deletion expire/decorator.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env python
from functools import wraps

from colorama import Fore
Expand Down
3 changes: 1 addition & 2 deletions expire/log.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env python

import logging

import colorama

from colorama import Fore, Style

colorama.init(autoreset=True)
Expand Down
1 change: 0 additions & 1 deletion expire/memcached_cache.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env python
from pymemcache.client.base import Client

from expire.base_cache import BaseCache
Expand Down
1 change: 0 additions & 1 deletion expire/memory_cache.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env python
import time

from expire.serializer import PickleSerializer
Expand Down
1 change: 0 additions & 1 deletion expire/redis_cache.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env python
import redis

from expire.base_cache import BaseCache
Expand Down
2 changes: 0 additions & 2 deletions expire/serializer.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#!/usr/bin/env python

from expire.base_cache import BaseSerializer

try:
Expand Down
50 changes: 27 additions & 23 deletions tests/test_cache.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,36 @@
#!/usr/bin/env python
import unittest

from expire import CacheSetting, JsonSerializer, MemoryCache, PickleSerializer, Settings, cached


def test_memory_cache():
memory_cache = MemoryCache()
memory_cache.set('name', 'expire')
cache_ins = CacheSetting()
assert cache_ins.get('name') == 'expire'
class TestExpire(unittest.TestCase):
def test_memory_cache(self):
memory_cache = MemoryCache()
memory_cache.set('name', 'expire')
cache_ins = CacheSetting()
assert cache_ins.get('name') == 'expire'

def test_cached(self):
cache_ins = CacheSetting(Settings)

def test_cached():
cache_ins = CacheSetting(Settings)
@cached(**Settings.cache)
def hello_cache(name, **kwargs):
return 'hello expire'

@cached(**Settings.cache)
def hello_cache(name, **kwargs):
return 'hello expire'
name = 'expire'
hello_cache(name=name, dynamic_key=name)
assert cache_ins.get(name) == 'hello expire'

name = 'expire'
hello_cache(name=name, dynamic_key=name)
assert cache_ins.get(name) == 'hello expire'
def test_serializer(self):
test = {
'name': 'expire',
'url': 'https://github.com/howie6879/expire'
}
serializer_ins = JsonSerializer()
pickle_ins = PickleSerializer()
assert pickle_ins.loads(pickle_ins.dumps(test)) == test
assert serializer_ins.loads(serializer_ins.dumps(test)) == test


def test_serializer():
test = {
'name': 'expire',
'url': 'https://github.com/howie6879/expire'
}
serializer_ins = JsonSerializer()
pickle_ins = PickleSerializer()
assert pickle_ins.loads(pickle_ins.dumps(test)) == test
assert serializer_ins.loads(serializer_ins.dumps(test)) == test
if __name__ == '__main__':
unittest.main()

0 comments on commit 4e11cce

Please sign in to comment.