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")
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)
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)
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)
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)
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)
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)
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)