我将SVG徽标定义为符号,如下所示:
<svg class="SpriteSheet">
<symbol id="icon-logo" viewBox="-12 -79.61 407.19 108.36">
<path id="logo-upperLeft" d="M0-67.61l83.66 0 0-10 -93.66 0 0 30.92 10 0Z" transform="translate(-2 -2)"></path>
<path id="logo-upperRight" d="M383.19-67.61l-83.66 0 0-10 93.66 0 0 30.92 -10 0Z" transform="translate(2 -2)"></path>
<path id="logo-lowerLeft" d="M0 16.75l83.66 0 0 10 -93.66 0 0-30.92 10 0Z" transform="translate(-2 2)"></path>
<path id="logo-lowerRight" d="M383.19 16.75l-83.66 0 0 10 93.66 0 0-30.92 -10 0Z" transform="translate(2 2)"></path>
</symbol>
</svg>
Run Code Online (Sandbox Code Playgroud)
此定义包含在顶部body
和样式中display:none
.
在文档的后面,我以这种方式使用徽标:
<header class="Header">
<h1 class="Header-headline">
<a href="/">
<svg class="Header-logo">
<use …
Run Code Online (Sandbox Code Playgroud) 我有一个使用该包的类tmdbsimple
:
电影.py
import tmdbsimple as tmdb
tmdb.API_KEY = '12345'
class Movie():
def __init__(self, tmdb_id):
movie = tmdb.Movies(tmdb_id)
response = movie.info()
self.tmdb_id = tmdb_id
self.title = movie.title
self.vote_average = movie.vote_average
self.watched = False
*snip*
Run Code Online (Sandbox Code Playgroud)
这一切都很好,直到我想测试它而不依赖于 TMDb 的实际连接:
测试电影.py
import pytest
import movie
from fake_tmdbsimple import FakeTmdbsimple
@pytest.fixture
def testMovie(mocker):
mocker.patch.dict('sys.modules', {'tmdbsimple': FakeTmdbsimple()})
return movie.Movie('1')
def test_creation_of_Movie(testMovie):
assert isinstance(testMovie, movie.Movie)
def test_properties_of_Movie(testMovie):
assert testMovie.tmdb_id == 1
assert testMovie.title == 'Example Movie'
assert testMovie.vote_average == 10
assert testMovie.watched == False
Run Code Online (Sandbox Code Playgroud)
fake_tmdbsimple.py …
我正在编写一个解析 RSS 提要的 Python 脚本。我想维护一个定期更新的提要条目字典。提要中不再存在的条目应被删除,新条目应获得默认值,并且以前看到的条目的值应保持不变。
我认为最好通过例子来解释:
>>> old = {
... 'a': 1,
... 'b': 2,
... 'c': 3
... }
>>> new = {
... 'c': 'x',
... 'd': 'y',
... 'e': 'z'
... }
>>> out = some_function(old, new)
>>> out
{'c': 3, 'd': 'y', 'e': 'z'}
Run Code Online (Sandbox Code Playgroud)
这是我目前的尝试:
def merge_preserving_old_values_and_new_keys(old, new):
out = {}
for k, v in new.items():
out[k] = v
for k, v in old.items():
if k in out:
out[k] = v
return out
Run Code Online (Sandbox Code Playgroud)
这可行,但在我看来可能有更好或更聪明的方法。
编辑:如果您想测试您的功能: …