Пример #1
0
    def test_do_write_css(self):
        """Tests whether a CSS can be correctly written or not"""
        sprite = Sprite(self.paths,
                        sprite_path=os.getcwd() + "/tests/",
                        css_path=os.getcwd() + "/tests/")

        sprite.do_write_css()
        assert os.path.exists(os.getcwd() + "/tests/sprite.css")
Пример #2
0
    def test_do_write_css(self):
        """Tests whether a CSS can be correctly written or not"""
        sprite = Sprite(self.paths,
                        sprite_path=os.getcwd() + "/tests/",
                        css_path=os.getcwd() + "/tests/")

        sprite.do_write_css()
        assert os.path.exists(os.getcwd() + "/tests/sprite.css")
Пример #3
0
    def post(self, **kwargs):
        msg = ''
        success = True
        urls_paths = []
        paths = []
        original_names = []

        if not self.request.files.get('file', None):
            if self.request.arguments.get('urls'):
                urls_paths = self.request.arguments['urls'][0].split()

                for url in urls_paths:
                    original_names.append(url.split('/')[-1].split(".")[0])
            else:
                msg = "No file given."
                success = False
        else:
            for r_file in self.request.files.get('file'):
                original_fname = r_file['filename']
                original_names.append(original_fname.split(".")[0])
                extension = os.path.splitext(original_fname)[1]

                if extension != '.png':
                    msg = "Invalid file format: " + extension
                    success = False
                    break

                final_filepath = settings.UPLOAD_PATH + '/' + original_fname

                with open(final_filepath, 'w') as output_file:
                    output_file.write(r_file['body'])

                paths.append(final_filepath)

        fname = ''.join(
            random.choice(string.ascii_lowercase + string.digits)
            for x in range(6))
        fname += '.png'

        sprite = Sprite(paths=paths,
                        urls_paths=urls_paths,
                        sprite_path=settings.STATIC_DEMO_PATH,
                        sprite_name=fname,
                        sprite_url=settings.SERVER_NAME + '/static/demo/',
                        css_path=settings.STATIC_DEMO_PATH,
                        class_name="demo")

        sprite.do_write_css()
        sprite.do_write_image()

        self.render("try.html",
                    SERVER_NAME=settings.SERVER_NAME,
                    message=msg,
                    success=success,
                    css=sprite.get_css(),
                    css_url=settings.SERVER_NAME + '/static/demo/sprite.css',
                    img_url=settings.SERVER_NAME + '/static/demo/' + fname,
                    entidades=original_names)
Пример #4
0
    def post(self, **kwargs):
        msg = ''
        success = True
        urls_paths = []
        paths = []
        original_names = []

        if not self.request.files.get('file', None):
            if self.request.arguments.get('urls'):
                urls_paths = self.request.arguments['urls'][0].split()

                for url in urls_paths:
                    original_names.append(url.split('/')[-1].split(".")[0])
            else:
                msg = "No file given."
                success = False
        else:
            for r_file in self.request.files.get('file'):
                original_fname = r_file['filename']
                original_names.append(original_fname.split(".")[0])
                extension = os.path.splitext(original_fname)[1]

                if extension != '.png':
                    msg = "Invalid file format: " + extension
                    success = False
                    break

                final_filepath = settings.UPLOAD_PATH + '/' + original_fname

                with open(final_filepath, 'w') as output_file:
                    output_file.write(r_file['body'])

                paths.append(final_filepath)

        fname = ''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(6))
        fname += '.png'

        sprite = Sprite(paths=paths,
                        urls_paths=urls_paths,
                        sprite_path=settings.STATIC_DEMO_PATH,
                        sprite_name=fname,
                        sprite_url=settings.SERVER_NAME + '/static/demo/',
                        css_path=settings.STATIC_DEMO_PATH,
                        class_name="demo")

        sprite.do_write_css()
        sprite.do_write_image()

        self.render("try.html",
                    SERVER_NAME=settings.SERVER_NAME,
                    message=msg,
                    success=success,
                    css=sprite.get_css(),
                    css_url=settings.SERVER_NAME + '/static/demo/sprite.css',
                    img_url=settings.SERVER_NAME + '/static/demo/' + fname,
                    entidades=original_names)
Пример #5
0
class TestBase64Images(unittest.TestCase):

    def setUp(self):
        self.paths = ["tests/fixtures/happy.png"]
        self.sprite = Sprite(self.paths)

    def test_get_base_64_str(self):
        img = self.sprite.get_base64_str()
        self.assertEquals(img, HAPPY_BASE64)

    def test_get_css_str_with_base64_sprite(self):
        css_template = self.sprite.get_css_base64()
        self.assertIn("image/png", css_template)
        self.assertIn(HAPPY_BASE64, css_template)

    def test_gen_css_file_with_base64_sprite(self):
        css_path = self.sprite.do_write_css(is_base64=True)
        with open(css_path) as arq:
            css_str = arq.read()
        self.assertIn(HAPPY_BASE64, css_str)


    def test_gen_sprite_files_with_base64_sprite(self):
        css_path, image_path = self.sprite.gen_sprite(is_base64=True)
        with open(css_path) as arq:
            css_str = arq.read()
        self.assertIn(HAPPY_BASE64, css_str)
        self.assertIsNone(image_path)
Пример #6
0
class TestBase64Images(unittest.TestCase):
    def setUp(self):
        self.paths = ["tests/fixtures/happy.png"]
        self.sprite = Sprite(self.paths)

    def test_get_base_64_str(self):
        img = self.sprite.get_base64_str()
        self.assertEquals(img, HAPPY_BASE64)

    def test_get_css_str_with_base64_sprite(self):
        css_template = self.sprite.get_css_base64()
        self.assertIn("image/png", css_template)
        self.assertIn(HAPPY_BASE64, css_template)

    def test_gen_css_file_with_base64_sprite(self):
        css_path = self.sprite.do_write_css(is_base64=True)
        with open(css_path) as arq:
            css_str = arq.read()
        self.assertIn(HAPPY_BASE64, css_str)

    def test_gen_sprite_files_with_base64_sprite(self):
        css_path, image_path = self.sprite.gen_sprite(is_base64=True)
        with open(css_path) as arq:
            css_str = arq.read()
        self.assertIn(HAPPY_BASE64, css_str)
        self.assertIsNone(image_path)
Пример #7
0
 def test_create_css_path(self):
     path = os.path.join(os.getcwd(), "css_path" + datetime.datetime.now().strftime("%Y%M%d%H%M%S"))
     self.assertFalse(os.path.exists(path))
     sprite = Sprite(self.paths, css_path=path)
     css_path = sprite.do_write_css()
     self.assertTrue(os.path.exists(path))
     self.assertIn(path, css_path)
     os.remove(css_path)
     os.rmdir(path)
Пример #8
0
 def test_create_css_path(self):
     path = os.path.join(
         os.getcwd(),
         "css_path" + datetime.datetime.now().strftime("%Y%M%d%H%M%S"))
     self.assertFalse(os.path.exists(path))
     sprite = Sprite(self.paths, css_path=path)
     css_path = sprite.do_write_css()
     self.assertTrue(os.path.exists(path))
     self.assertIn(path, css_path)
     os.remove(css_path)
     os.rmdir(path)
Пример #9
0
def gen_sprite():
    css = ""
    image = ""
    files = []

    #get images absolut paths
    for (_, _, filenames) in os.walk(IMAGE_PATH):
        files.extend(map(lambda x: "{0}{1}".format(IMAGE_PATH, x), filenames))
        break

    if files != []:
        #instantiate Sprite class
        sprite = Sprite(
            files,
            #path where sprite will be generated
            sprite_path=SPRITE_PATH,

            #optional
            sprite_name="demo.png",

            #optional
            sprite_url="http://pitomba.org/static/demo/",

            #optional, defines where css will be saved
            css_path=CSS_PATH,

            #optional, defines a namespace for your sprite
            class_name="demo")

        #write css file and return OS path
        css = sprite.do_write_css()

        #write sprite file and return OS path
        image = sprite.do_write_image()

        #if you just want the CSS file content simply use:
        #sprite.get_css()
        #this will return a string that can be used anyway you want to.
    return (css, image)
Пример #10
0
def gen_sprite():
    css = ""
    image = ""
    files = []

    #get images absolut paths
    for (_, _, filenames) in os.walk(IMAGE_PATH):
        files.extend(map(lambda x: "{0}{1}".format(IMAGE_PATH, x), filenames))
        break

    if files != []:
        #instantiate Sprite class
        sprite = Sprite(files,
                        #path where sprite will be generated
                        sprite_path=SPRITE_PATH,

                        #optional
                        sprite_name="demo.png",

                        #optional
                        sprite_url="http://pitomba.org/static/demo/",

                        #optional, defines where css will be saved
                        css_path=CSS_PATH,

                        #optional, defines a namespace for your sprite
                        class_name="demo")

        #write css file and return OS path
        css = sprite.do_write_css()

        #write sprite file and return OS path
        image = sprite.do_write_image()

        #if you just want the CSS file content simply use:
        #sprite.get_css()
        #this will return a string that can be used anyway you want to.
    return (css, image)