pythondaily | Образование

Telegram-канал pythondaily - Python Daily

1102

Daily Python News Question, Tips and Tricks, Best Practices on Python Programming Language Find more reddit channels over at @r_channels

Подписаться на канал

Python Daily

What's the best approach to an ecosystem of multiple projects with same user table?

Hello guys, I would really appreciate if you help me with this.

I currently have a project that uses it's own database and models. Thing is, company wants a full ecosystem of projects sharing users between them and I want to know the best approach to this scenario as is the first time I'm doing something like this.


I've already tried 2 things:

1. Adding another database to DATABASES on my project's settings

When I tried this, I found a known problem with referential integrity, as the users on both system would be doing operations on their correspondent project database.

2. Replication

I tried directly thinkering on the database and I almost got it working but I think I was overcomplating myself a bit too much. What I did was a 2-way publication and subscription on PostgreSQL. The problem was that the users weren't the only data that I had to share between projects: groups and permissions (as well as the intermediate tables) were also needed to be shared and right here was when I gave up.

The reason I thought this was way too complicated is that we use PostgreSQL on a Docker container and since I was configuring this directly on the

/r/django
https://redd.it/1fqf1sj

Читать полностью…

Python Daily

"Can I Get a Verified Certificate After Completing the CS50 Python Course, or Do I Need to Start Over?"

/r/IPython
https://redd.it/1fqbu0y

Читать полностью…

Python Daily

Friday Daily Thread: r/Python Meta and Free-Talk Fridays

# Weekly Thread: Meta Discussions and Free Talk Friday 🎙️

Welcome to Free Talk Friday on /r/Python! This is the place to discuss the r/Python community (meta discussions), Python news, projects, or anything else Python-related!

## How it Works:

1. Open Mic: Share your thoughts, questions, or anything you'd like related to Python or the community.
2. Community Pulse: Discuss what you feel is working well or what could be improved in the /r/python community.
3. News & Updates: Keep up-to-date with the latest in Python and share any news you find interesting.

## Guidelines:

All topics should be related to Python or the /r/python community.
Be respectful and follow Reddit's Code of Conduct.

## Example Topics:

1. New Python Release: What do you think about the new features in Python 3.11?
2. Community Events: Any Python meetups or webinars coming up?
3. Learning Resources: Found a great Python tutorial? Share it here!
4. Job Market: How has Python impacted your career?
5. Hot Takes: Got a controversial Python opinion? Let's hear it!
6. Community Ideas: Something you'd like to see us do? tell us.

Let's keep the conversation going. Happy discussing! 🌟

/r/Python
https://redd.it/1fqar0b

Читать полностью…

Python Daily

D What Neural Network Architecture is best for Time Series Analysis with a few thousand data points?

I know what you're thinking, use classical methods like ARIMA. Yes you are correct, but I have already done that for my company. I am currently a co-op and I got a full time offer. During this transition to it, I don't have much to do for two weeks. I have access to PySpark and Databricks which I won't in the new position so I wanna take this time as a learning experience and it'll help my resume in the end. I am not expecting the performance to be better than my ARIMA models

The data has daily granularity from 2021. I have features but not a ton of features. There are three architectures which I've been considering. I know about RNN's, LSTMs and Temporal CNN's. In terms (mostly) learning combined with performance, which of these do you think are most suited for my task? In general for rich data, what architecture do you see usually performing the best?

/r/MachineLearning
https://redd.it/1fpxja7

Читать полностью…

Python Daily

Opik: Open source LLM evaluation framework

Repo Link: https://github.com/comet-ml/opik

What My Project Does

Opik is an open source LLM eval framework. With this first release, we've focused on a few key features:

Out-of-the-box implementations of LLM-based metrics, like Hallucination and Moderation.
Step-by-step tracking, such that you can test and debug individual components, even for multi-agent architectures.
Exposing an API for "model unit tests" (built on Pytest), to allow you to run evals as part of your CI/CD pipelines
Providing an easy UI for scoring, annotating, and versioning your logged LLM data, for further evaluation or training.

Target Audience

Opik is for anyone building LLM applications. It is production-ready.

Comparison

Opik provides a similar API to tools like DeepEval. Unlike DeepEval, however, Opik is 100% open source—meaning that the Opik backend and UI are included in the source code, and can be run locally on your own machine.

/r/Python
https://redd.it/1fq33rw

Читать полностью…

Python Daily

Script to download just the audio from Reddit Videos

I am trying to write a script to download just the Audios from Reddit videos whereas I am not able to find the Fallback URL for that.

I am able to download the videos though and couldn't figure out the Audio URL.

Example of video: https://v.redd.it/kgwd3pqtfzqd1/DASH\_720.mp4?source=fallback
How to get the linked audio URL

/r/Python
https://redd.it/1fppcu4

Читать полностью…

Python Daily

Non-drifting Scheduler

I've been working on this little snippet and I just wanted to share it. Its a scheduler for running a function at a fixed interval, and it uses an integral-controller to correct drift.

Here is a naive approach:

import time

def run(thing, interval):
while True:
t1 = time.time()
thing()
elapsed = time.time() - t1
time.sleep(interval - elapsed)

This works well enough, but if you are running something at a fast interval, you will notice that it runs *very slightly* less often than it should.

Here is the integral-controller version:

import time

class NoDriftLoop:
def __init__(self, process, process_args, target_interval):
self.process = process
self.process_args = process_args
self.target_interval = target_interval
self.error_integral = 0


/r/Python
https://redd.it/1fplo2y

Читать полностью…

Python Daily

How do you sell your services?

I'm interested in knowing how Django does sell their services. Do you guys normally just talk to people and get clients that way, where you recommended initially by another client that you had, or do you actively advertise yourself on social media or you've been paying Google ads or similar in order to attract customers?

I have these in more questions so feel free to talk about what your approaches or what your experience has been and what you would recommend doing or not doing.

For example if you had a CRM platform with an e-commerce ability to sell products and services. Do you ask people to try your product and then sell it to them or do you have people normally come to you and ask for your services?

Thank you and have a good week

/r/django
https://redd.it/1fpfmhr

Читать полностью…

Python Daily

Thursday Daily Thread: Python Careers, Courses, and Furthering Education!

# Weekly Thread: Professional Use, Jobs, and Education 🏢

Welcome to this week's discussion on Python in the professional world! This is your spot to talk about job hunting, career growth, and educational resources in Python. Please note, this thread is not for recruitment.

---

## How it Works:

1. Career Talk: Discuss using Python in your job, or the job market for Python roles.
2. Education Q&A: Ask or answer questions about Python courses, certifications, and educational resources.
3. Workplace Chat: Share your experiences, challenges, or success stories about using Python professionally.

---

## Guidelines:

- This thread is not for recruitment. For job postings, please see r/PythonJobs or the recruitment thread in the sidebar.
- Keep discussions relevant to Python in the professional and educational context.

---

## Example Topics:

1. Career Paths: What kinds of roles are out there for Python developers?
2. Certifications: Are Python certifications worth it?
3. Course Recommendations: Any good advanced Python courses to recommend?
4. Workplace Tools: What Python libraries are indispensable in your professional work?
5. Interview Tips: What types of Python questions are commonly asked in interviews?

---

Let's help each other grow in our careers and education. Happy discussing! 🌟

/r/Python
https://redd.it/1fpj37t

Читать полностью…

Python Daily

Reflex v0.6.0 - Frontend. Backend. Pure Python

Hey folks, it's been awhile (v0.4.0) since we (reflex-dev/reflex 19k stars) posted in this community! Just wanted to share some of the exciting new features and improvements we've been working on.

GitHub: https://github.com/reflex-dev/reflex

# What My Project Does

Reflex is the open-source framework empowering Python developers to build web apps faster. Build both your frontend and backend in a single language, Python (pip install reflex), with no JavaScript or web development experience required.

# Target Audience (e.g., Is it meant for production, just a toy project, etc.)

Production-ready--primarily to build internal data, AI, and web apps.

# Comparison (A brief comparison explaining how it differs from existing alternatives.)

Over 60+ components built-in with the flexibility to extend and customize by wrapping your own React components e.g. AG Grid. Strong OOP support, first-class database management (SQLAlchemy), and minimal boilerplate.

# Enhancements and improvements

Optimized Performance: Multiprocess compilation is now available as an opt-in feature, dramatically improving compilation speed for large applications.
We significantly improved our graphing components. Additionally the charts can be made responsive to the window size by setting width to a percentage.
A new `/_health` endpoint has been added for easier monitoring in production environments great for people working with k8s.
The CLI for creating and publishing

/r/Python
https://redd.it/1fpf1lx

Читать полностью…

Python Daily

Please Help.
https://www.reddit.com/gallery/1fnqqav

/r/djangolearning
https://redd.it/1fnqrkb

Читать полностью…

Python Daily

The Magic Behind POST Requests in Django REST Framework
antarjaalasanchari/the-magic-behind-post-requests-in-django-rest-framework-caec0d0f1063" rel="nofollow">https://medium.com/@antarjaalasanchari/the-magic-behind-post-requests-in-django-rest-framework-caec0d0f1063

/r/djangolearning
https://redd.it/1fogn8a

Читать полностью…

Python Daily

ParScrape v0.4.5 Released

# What My project Does:

Scrapes data from sites and uses AI to extract structured data from it.

# Key Features:

Uses Playwright / Selenium to bypass most simple bot checks.
Uses AI to extract data from a page and save it various formats such as CSV, XLSX, JSON, Markdown.
Has rich console output to display data right in your terminal.

# GitHub and PyPI

PAR Scrape is under active development and getting new features all the time.
Check out the project on GitHub or for full documentation, installation instructions, and to contribute: [https://github.com/paulrobello/par\_scrape](https://github.com/paulrobello/par_scrape)
PyPI https://pypi.org/project/par\_scrape/

# Comparison:

I have seem many command line and web applications for scraping but none that are as simple, flexible and fast as ParScrape

# Target Audience

AI enthusiasts and data hungry hobbyist

/r/Python
https://redd.it/1foqa9o

Читать полностью…

Python Daily

Anyone have any clean logging example code?

I already have django logging fully wired up and functional, and have configured logging across the majority of my views.

The problem I have is that I feel like the log statements clutter my code up a bit. I was thinking of writing a decorator to move the log statements out of the view logic, but then im only able to log relatively generic information.

Anyone have any clean examples or philosophies regarding logging here?

/r/django
https://redd.it/1fowvgf

Читать полностью…

Python Daily

Asynchronous execution in general

Since this topic comes up here pretty often I was wondering why one would want to do stuff asynchronously and why I seem to be doing it completely differently than the solutions suggested by others here.

1) I have a large table where each cell gets some data from a database query. Since it takes a long time to load the whole page this way I first create the empty table and then have each cell load its data using a separate GET request and have the backend return JSON data way (I think this used to be called AJAX at some time). So it's the browser doing the async stuff, not the backend.

2) I have the app send an email after someone has done some "work" in a session. I spawn a thread which monitors the session (via a timestamp in a database) and when there is no activity for a few minutes, the email gets sent.

So for my use cases the backend does not have to do anything asynchronous at all, or a simple built-in Thread object does the trick.

My take on this is: If you need the app to do something slow while the user is waiting,

/r/flask
https://redd.it/1fojr13

Читать полностью…

Python Daily

Looking for Feedback to Level Up My Project (Django and Next.js)

Hey everyone.
I’m excited to share a responsive web app I’ve been working on, built with Django on the backend and Next.js on the frontend! As a self-taught developer, I’ve learned a lot through tutorials and resources. The task managment app helps users manage projects and tasks, letting them create, assign, and track tasks in one place.

It’s in the early stages, but I’m planning to add more features and deploy it to the cloud. I’d love your feedback or any support as I aim to improve and follow best practices.

If you have a moment, I’d appreciate your thoughts on:
* Key features or improvements for the next stage
* Suggestions to enhance the user experience
* Best practices for deployment and production
I’m also open to any other suggestions or feedback you think could help!

Thanks a ton for taking the time to check this out! Your feedback would mean the world to me. 🙏💡

My Task Management App
https://github.com/mimi030/task_management_system_django_next_v1.git


/r/django
https://redd.it/1fqbgal

Читать полностью…

Python Daily

D Fellow ML Practitioners, who do you go to when you are stuck on an ML problem?

Btw, not posting in the "Simple Questions Thread" because I believe even someone with formal ML knowledge may benefit from this.

I'm curious to know how you get new ideas and validate them if you are stuck on something you haven't worked on before. I'm in a similar boat, and while my team at work has experts in other fields, there's no senior MLE as such.

It doesn't have to be a person, I'm keen to know any sources you refer to as well.

/r/MachineLearning
https://redd.it/1fqb1t1

Читать полностью…

Python Daily

Not sure whether or not I need to take action on "WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead."

I've been getting that with an app I have running on Google App Engine on an hourly cron job. Looked into it online and found conflicting information. Do I need to change anything, or is this just a boilerplate warning I can ignore?

(In case it makes a difference: it's an app that interacts with the Google Sheets API and Gmail API to modify spreadsheets and send emails based on the spreadsheets. Runs hourly, probably sends from 0 to 3 emails each time.)

/r/flask
https://redd.it/1fpgxo3

Читать полностью…

Python Daily

Need help to generate a pdf from a webpage

Hello everyone,
I need some help generating a pdf from a template.

Initially I tried using weasyprint but couldn't make it work. I finally manage to generate and download a pdf using pdfkit after hours of trying to install it.

Couple of additional details, I am using a Flask App hosted in Heroku, I'm not a professional developer so mainly looking for recommendations and found that this was the easier combo to get started.

I am using tailwind css for all my html file, including the template, and this is where the issues begin. Initially tried the pdfkit's from_template function (I think that's the name of it), but found out that this ignore tailwind and I should revert to regular css styling. I tried that, but I cannot make the page look the same.

One recommendation I've had was to instead open a tab to my template, and make it print the page directly, making the browser implement the tailwind beforehand, sound good right? Well no, i've tried doing that with pdfkit.from_url, but it's still ignoring the tailwind css. Note that when I access the regular template manually from the route, it's rendering fine, but when pass the route URL to the pdfkit

/r/flask
https://redd.it/1fpw297

Читать полностью…

Python Daily

I realized I didn't know how a web framework worked, so I wrote one! Spiderweb 1.2.1 now live!

I've been writing Django and Flask websites for the better part of a decade, but I realized recently that I don't actually know how this stuff _works_. So rather than crack open a package I was already familiar with, I jumped in with both feet and wrote my own!

[PyPI: Spiderweb 1.2.1](https://pypi.org/project/spiderweb-framework/)
[Documentation!](https://itsthejoker.github.io/spiderweb/#/)

# What My Project Does

**Spiderweb** is a web framework just large enough to hold a spider. It's an special blend of concepts that I like from Flask, FastAPI, and Django, and is available for use now!

Here's a non-exhaustive lists of things Spiderweb can do:

- Function-based views
- Optional Flask-style URL routing
- Optional Django-style URL routing
- URLs with variables in them
- Full middleware implementation
- Limit routes by HTTP verbs
- Custom error routes
- Built-in dev server
- Gunicorn support
- HTML templates with Jinja2
- Static files support
- Cookies (reading and setting)
- Optional append_slash (with automatic redirects!)
- CSRF middleware
- CORS middleware
- Optional POST data validation middleware with Pydantic
- Session middleware with built-in session store
- Database support (using Peewee, but you can use whatever you want as long as there's a Peewee driver for it)

Example code from [the quickstart](https://itsthejoker.github.io/spiderweb/#/quickstart):

from spiderweb import SpiderwebRouter
from spiderweb.response import HttpResponse


/r/Python
https://redd.it/1fpxris

Читать полностью…

Python Daily

Need Help Finding Resources for Single Page Website with Django REST API and Vanilla JavaScript

Hi everyone,
I’m working on a single-page website with Django REST API for the backend and HTML, CSS, and vanilla JavaScript for the front end. The features I want to implement are:

* User management (register, login, logout, profile section)
* Adding friends functionality
* Real-time chatting between users

The problem I’m running into is that most of the resources I find use Django templates instead of Django REST API for these features. Does anyone have suggestions, helpful resources, or advice for building these features using a REST API and vanilla JavaScript? Any help would be greatly appreciated!

Thanks!

/r/django
https://redd.it/1fpszjy

Читать полностью…

Python Daily

django-components update - Templating is now on par with Vue or React

Hey, I'm Juro, I'm one of the maintainers of django-components. In releases v0.90-0.94 we've added features that make using components in templates much more flexible.

(This info is already a bit dated (released a month ago; latest is v0.101), as I'm busy adding support for JS / CSS variables, TypeScript & Sass, and HTML fragment. Exciting stuff! But I realized haven't shared this update yet!)

Anyway, the components can be written in the Django template similar to JSX / Vue.

The following is a component blog_post, that accepts a title, id, and additional kwargs applied from blog_post_props:

{% blogpost
title="{{ person.first
name }} {{ person.lastname }}"
id="{% random
int 10 20 %}"
...blogpostprops
/ %}

The above is a combination of multiple features:

1. Self-closing tags:

Instead of

{% component "mycomponent" %}
{% endcomponent %}

You can now simply write

{% component "my
component" / %}

2. Multi-line tags:

django_components now automatically configures Django to allow multi-line tags. So instead of cramming everything on a single line:

{% component "blogpost" title="abcdef..." author="John Wick" datepublished="2024-08-28" %}
{%

/r/django
https://redd.it/1fp5v6k

Читать полностью…

Python Daily

Nanodjango - single file django with working models. Convert to a full project whenever you want.
https://simonwillison.net/2024/Sep/24/nanodjango/

/r/django
https://redd.it/1fp4bgg

Читать полностью…

Python Daily

changing log levels without deploying / restarting


I've been tinkering with logging in FastAPI and wanted to share something I've been working on. I like logging. I think it's key for debugging and monitoring, but I hate having to deploy / restart to adjust log levels . So, I set out to find a way to change logging levels on the fly.

I wrote a blog post detailing the approach: Dynamic Logging in FastAPI with Python the library is https://github.com/prefab-cloud/prefab-cloud-python

In a nutshell, I used a log filter that's dynamically configurable via Prefab's UI. This setup allows you to change logging levels for both Uvicorn and FastAPI without needing to restart the server. For me, this lets me turning on debug logging for a single user when investigating an issue and generally feel in control of my logging spend.

How are y'all handling logging in their Python applications:

Have you faced challenges / annoyance with adjusting log levels?
Do you just not log because logging is a smell?
What tools or methods have you found effective for managing logs in production?
Do you think this approach addresses a real need, or are there better solutions out there?

I'd love to get your feedback and hear about your experiences. My goal is

/r/Python
https://redd.it/1fpa5m3

Читать полностью…

Python Daily

A ML-powered scanner to identify the pattern for spam text and malicious sites.

Hello everyone,

I wanna share my machine learning platform that I build with the help of flask and react. The purpose of the platform is to make a prediction on url and text to classify as a malicious/spam or legitimate.

Cons: The model can classify into a unexpected False positive & False negative.

You can try: https://threat-recognator.vercel.app/
Source code: https://github.com/nordszamora/Threat-Recognator.git

I need your feedback & suggestion:)

/r/flask
https://redd.it/1fp3cgy

Читать полностью…

Python Daily

`streamable`: Stream-like manipulation of iterables

https://github.com/ebonnal/streamable
# What my project does
A `Stream[T]` decorates an `Iterable[T]` with a **fluent interface** enabling the **chaining of lazy operations**:
- **mapping** (concurrently)
- **flattening** (concurrently)
- **grouping** by key, by batch size, by time interval
- **filtering**
- **truncating**
- **catching** exceptions
- **throttling** the rate of iterations
- **observing** the progress of iterations

For more details and examples, check the [Operations section in the README](https://github.com/ebonnal/streamable?tab=readme-ov-file#-operations)


|||
|--|--|
|🔗 *Fluent*|chain methods!|
|🇹 *Typed*|**type-annotated** and [`mypy`](https://github.com/python/mypy)able|
|💤 *Lazy*|operations are **lazily evaluated** at iteration time|
|🔄 *Concurrent*|**thread**-based or `asyncio`-based concurrency|
|🛡️ *Robust*|unit-tested for **Python 3.7 to 3.12** with 100% coverage|
|🪶 *Minimalist*|`pip install streamable` with **no additional dependencies**|

---


# 1. install

```bash
pip install streamable
```

# 2. import
```python
from streamable import Stream
```

# 3. init
Instantiate a `Stream[T]` from an `Iterable[T]`.

```python
integers: Stream[int] = Stream(range(10))
```

# 4. operate
- `Stream`s are ***immutable***: applying an operation returns a new stream.

- Operations are ***lazy***: only evaluated at iteration time. See the [Operations section in the README](https://github.com/ebonnal/streamable?tab=readme-ov-file#-operations).

```python
inverses: Stream[float] = (
integers
.map(lambda n: round(1 / n, 2))
.catch(ZeroDivisionError)
)
```

# 5. iterate
- Iterate over a `Stream[T]` as you would over any other `Iterable[T]`.
- Source elements are ***processed on-the-fly***.

- collect it:
```python
>>> list(inverses)
[1.0, 0.5, 0.33, 0.25, 0.2, 0.17, 0.14, 0.12, 0.11]
>>> set(inverses)
{0.5, 1.0, 0.2, 0.33, 0.25, 0.17, 0.14, 0.12, 0.11}
```

- reduce it:
```python
>>> sum(integers)
2.82
>>> max(inverses)
1.0
>>> from functools import

/r/Python
https://redd.it/1fp38jd

Читать полностью…

Python Daily

Your Django Stack

Am thinking maybe: Django + HTMX + some css framework?

I need to be able to do some SPA stuff, but also I want the support of a modern CSS framework. I want to move as fast as possible, any suggestions?

/r/django
https://redd.it/1fp0au2

Читать полностью…

Python Daily

Wednesday Daily Thread: Beginner questions

# Weekly Thread: Beginner Questions 🐍

Welcome to our Beginner Questions thread! Whether you're new to Python or just looking to clarify some basics, this is the thread for you.

## How it Works:

1. Ask Anything: Feel free to ask any Python-related question. There are no bad questions here!
2. Community Support: Get answers and advice from the community.
3. Resource Sharing: Discover tutorials, articles, and beginner-friendly resources.

## Guidelines:

This thread is specifically for beginner questions. For more advanced queries, check out our [Advanced Questions Thread](#advanced-questions-thread-link).

## Recommended Resources:

If you don't receive a response, consider exploring r/LearnPython or join the Python Discord Server for quicker assistance.

## Example Questions:

1. What is the difference between a list and a tuple?
2. How do I read a CSV file in Python?
3. What are Python decorators and how do I use them?
4. How do I install a Python package using pip?
5. What is a virtual environment and why should I use one?

Let's help each other learn Python! 🌟

/r/Python
https://redd.it/1for63c

Читать полностью…

Python Daily

Converting Jupyter Notebooks to PDF: Exploring Your Options

Converting Jupyter notebooks to PDF can be quite handy, especially when you want to share your analyses with others who may not have Jupyter installed. However, navigating the various options for conversion can be a challenge. I've recently put together a blog post that reviews two popular methods: nbconvert and Quarto.

In the post, I break down the setup process, features, and limitations of each method to help you decide which one might be the best fit for your needs.

### nbconvert
nbconvert is the official library from the Jupyter team that's designed for this task. It offers versatility by letting you convert notebooks into formats like PDF through two approaches: WebPDF and the traditional PDF via LaTeX.

The WebPDF method is simpler to set up, while the LaTeX route tends to yield higher-quality documents—ideal for complex mathematical content but comes with more installation hurdles.

### Quarto
On the other hand, Quarto provides a comprehensive solution for converting Jupyter notebooks into PDFs, but it does require a bit more effort to get everything working. It’s feature-rich and offers great customization, though the learning curve can be a bit steep.

In my experience, many users start out with nbconvert using WebPDF for quick needs and then

/r/IPython
https://redd.it/1foi9da

Читать полностью…

Python Daily

I finally found an environment in which I feel comfortable

I have recently had "technology" crises, feeling useless for not wanting to focus on the JS environment (that is, node, react...) because it is a language that does not make me comfortable due to my programming preferences.



I was looking for alternatives to PHP, which is originally where I worked at a semi-expert level, and until now that I have migrated an app from that side to Flask, I have not felt comfortable and constantly feeling "oh, it makes sense" with each step I take. gave.



I have always loved Python for its guideline of simplicity, indentation (forcing yourself to do this makes changing hands much easier, as does returning to past projects, for readability) and I never knew how to focus my taste for the web with Python. I tried Django, and I will try it again, but it was very strict and it was difficult for me to understand its robustness and ideology, which on the other hand is the most correct but not the most free, since I like to structure myself instead of having it done to me at that level.



Finally I found Flask, I tried it and in a week I migrated my entire website (letterboxd style:

/r/flask
https://redd.it/1foqicx

Читать полностью…
Подписаться на канал