[PATCH v2 14/15] md2html-add-asset-postfix-arg
Andy Green
andy at warmcat.com
Tue Jun 19 05:55:35 CEST 2018
On 06/19/2018 03:21 AM, John Keeping wrote:
> On Mon, Jun 18, 2018 at 10:58:26AM +0800, Andy Green wrote:
>> class AssetMappingExtension(markdown.extensions.Extension):
>>
>> def __init__(self, **kwargs):
>> - self.config = {'asset_prefix': ['', 'prefix for relative asset URLs']}
>> + self.config = {'asset_prefix': ['', 'prefix for relative asset URLs'], 'asset_postfix': ['', 'postfix for relative asset URLs']}
>
> For style it would be nice to align this under asset_prefix.
Just worried to upset the python indent monster... it seems to work
intended I guess it only cares at the start of statements.
>> super(AssetMappingExtension, self).__init__(**kwargs)
>>
>> def extendMarkdown(self, md, md_globals):
>> asset_prefix = self.getConfig('asset_prefix')
>> if not asset_prefix:
>> return
>> + asset_postfix = self.getConfig('asset_postfix')
>> + if not asset_postfix:
>> + return
>
> Is this right? Should we allow one of these to be empty and still
> process the other one? In other words, shouldn't the bail out condition
> be:
>
> if not (asset_prefix or asset_postfix):
> return
Yeah... the original code that generated the args always generated a
postfix, so there was "no problem".
However the improved code snips ?h=defaultbranch and can be an empty
string. So I changed this as you suggested.
> I don't think any change to AssetMappingProcessor is required because
> urljoin already does the right thing when handed the empty string and
> the config assure that if no value is specified then that is what we
> get.
I am not certain of your meaning here... you mean change from what this
patch already does for the reason above? It must change
AssetMappingProcessor generally to do what it's trying to do.
>> -if len(sys.argv) > 2:
>> - extensions.append(AssetMappingExtension(asset_prefix=sys.argv[2]))
>> +if len(sys.argv) > 3:
>> + extensions.append(AssetMappingExtension(asset_prefix=sys.argv[2],asset_postfix=sys.argv[3]))
>
> Can we allow specifying only the prefix here? Something like:
>
> if len(sys.argv) > 2:
> args = {'asset_prefix': sys.argv[2]}
> if len(sys.argv) > 3:
> args['asset_postfix'] = sys.argv[3]
> extensions.append(AssetMappingExtension(**args))
OK.
-Andy
More information about the CGit
mailing list