• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ets-labs / python-dependency-injector / 9377842010

05 Jun 2024 03:41AM UTC coverage: 0.0% (-92.0%) from 92.016%
9377842010

Pull #765

github

rmk135
Remove pypy 3.9
Pull Request #765: Add Python 3.12 Support (#752)

0 of 764 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/dependency_injector/ext/flask.py
1
"""Flask extension module."""
2

3
from __future__ import absolute_import
×
4
import warnings
×
5

6
from flask import request as flask_request
×
7

8
from dependency_injector import providers, errors
×
9

10

11
warnings.warn(
×
12
    'Module "dependency_injector.ext.flask" is deprecated since '
13
    'version 4.0.0. Use "dependency_injector.wiring" module instead.',
14
    category=DeprecationWarning,
15
)
16

17

18
request = providers.Object(flask_request)
×
19

20

21
class Application(providers.Singleton):
×
22
    """Flask application provider."""
23

24

25
class Extension(providers.Singleton):
×
26
    """Flask extension provider."""
27

28

29
class View(providers.Callable):
×
30
    """Flask view provider."""
31

32
    def as_view(self):
×
33
        """Return Flask view function."""
34
        return as_view(self)
×
35

36

37
class ClassBasedView(providers.Factory):
×
38
    """Flask class-based view provider."""
39

40
    def as_view(self, name):
×
41
        """Return Flask view function."""
42
        return as_view(self, name)
×
43

44

45
def as_view(provider, name=None):
×
46
    """Transform class-based view provider to view function."""
47
    if isinstance(provider, providers.Factory):
×
48
        def view(*args, **kwargs):
×
49
            self = provider()
×
50
            return self.dispatch_request(*args, **kwargs)
×
51

52
        assert name, 'Argument "endpoint" is required for class-based views'
×
53
        view.__name__ = name
×
54
    elif isinstance(provider, providers.Callable):
×
55
        def view(*args, **kwargs):
×
56
            return provider(*args, **kwargs)
×
57

58
        view.__name__ = provider.provides.__name__
×
59
    else:
60
        raise errors.Error('Undefined provider type')
×
61

62
    view.__doc__ = provider.provides.__doc__
×
63
    view.__module__ = provider.provides.__module__
×
64

65
    if isinstance(provider.provides, type):
×
66
        view.view_class = provider.provides
×
67

68
    if hasattr(provider.provides, 'decorators'):
×
69
        for decorator in provider.provides.decorators:
×
70
            view = decorator(view)
×
71

72
    if hasattr(provider.provides, 'methods'):
×
73
        view.methods = provider.provides.methods
×
74

75
    if hasattr(provider.provides, 'provide_automatic_options'):
×
76
        view.provide_automatic_options = provider.provides.provide_automatic_options
×
77

78
    return view
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc