Skip to content

Commit

Permalink
Patterns
Browse files Browse the repository at this point in the history
  • Loading branch information
b8raoult committed Dec 18, 2020
1 parent effba69 commit ab5e591
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
24 changes: 24 additions & 0 deletions climetlab/sources/file_pattern.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# (C) Copyright 2020 ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
# In applying this licence, ECMWF does not waive the privileges and immunities
# granted to it by virtue of its status as an intergovernmental organisation
# nor does it submit to any jurisdiction.
#

from . import MultiSource, File
from climetlab.utils.pattern import Pattern


class FilePattern(MultiSource):
def __init__(self, pattern, *args, **kwargs):
files = Pattern(pattern).substitute(*args, **kwargs)
if not isinstance(files, list):
files = [files]

sources = [File(file) for file in files]
super().__init__(sources)


source = FilePattern
25 changes: 25 additions & 0 deletions climetlab/sources/url_pattern.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# (C) Copyright 2020 ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
# In applying this licence, ECMWF does not waive the privileges and immunities
# granted to it by virtue of its status as an intergovernmental organisation
# nor does it submit to any jurisdiction.
#

from .multi import MultiSource
from .url import Url
from climetlab.utils.patterns import Pattern


class UrlPattern(MultiSource):
def __init__(self, pattern, *args, **kwargs):
urls = Pattern(pattern).substitute(*args, **kwargs)
if not isinstance(urls, list):
urls = [urls]

sources = [Url(url) for url in urls]
super().__init__(sources)


source = UrlPattern

0 comments on commit ab5e591

Please sign in to comment.