<s> """<STR_LIT>""" <EOL> from os . path import splitext <EOL> def uri_leaf ( uri ) : <EOL> """<STR_LIT>""" <EOL> for char in ( '<STR_LIT:#>' , '<STR_LIT:/>' , '<STR_LIT::>' ) : <EOL> if uri . endswith ( char ) : <EOL> break <EOL> if char in uri : <EOL> sep = char <EOL> leaf = uri . rsplit ( char ) [ - <NUM_LIT:1> ] <EOL> else : <EOL> sep = '<STR_LIT>' <EOL> leaf = uri <EOL> if sep and leaf : <EOL> return leaf <EOL> SUFFIX_FORMAT_MAP = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:html>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> def guess_format ( fpath , fmap = None ) : <EOL> """<STR_LIT>""" <EOL> fmap = fmap or SUFFIX_FORMAT_MAP <EOL> return fmap . get ( _get_ext ( fpath ) ) or fmap . get ( fpath . lower ( ) ) <EOL> def _get_ext ( fpath , lower = True ) : <EOL> """<STR_LIT>""" <EOL> ext = splitext ( fpath ) [ - <NUM_LIT:1> ] <EOL> if ext == '<STR_LIT>' and fpath . startswith ( "<STR_LIT:.>" ) : <EOL> ext = fpath <EOL> if lower : <EOL> ext = ext . lower ( ) <EOL> if ext . startswith ( '<STR_LIT:.>' ) : <EOL> ext = ext [ <NUM_LIT:1> : ] <EOL> return ext </s>
