Skip to content

Commit

Permalink
Merge f3b2506 into 97f8c17
Browse files Browse the repository at this point in the history
  • Loading branch information
julienmalard committed Jul 20, 2019
2 parents 97f8c17 + f3b2506 commit 337581d
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 6 deletions.
18 changes: 17 additions & 1 deletion امتحان/test_مقام.py
@@ -1,14 +1,23 @@
import os
import unittest
from json import JSONDecodeError

import requests

from تقدیر.ذرائع import سی_اس_وی
from تقدیر.مقام import مقام
from تقدیر.وسائل import وسائل_پانا
from تقدیر.کام import بلندی_پانا

مسل_سی_اس_وی = وسائل_پانا('روزانہ.csv')

تبدل = {'شمسی_تابکاری': 'شمسی تابکاری'}

try:
بلندی_پانا(عرض=11.02, طول=76.96)
جالبینی_دستیاب = True
except (requests.exceptions.RequestException, KeyError, JSONDecodeError):
جالبینی_دستیاب = False


class امتحان_مقام(unittest.TestCase):
@classmethod
Expand Down Expand Up @@ -37,3 +46,10 @@ def test_تاریخ_سحی_نہیں(خود):
ذر = سی_اس_وی(مسل_سی_اس_وی, **خود.جگہ, تبديل_ستون=تبدل, خاکے='۲.۶')
with خود.assertRaises(ValueError):
خود.مقام.کوائف_پانا(خود.تک, خود.سے, ذرائع=(ذر,), خاکے='۲.۶')

@unittest.skipUnless(جالبینی_دستیاب, 'کھلی بلندی کا جالبین صفھہ اب دستیاب نہیں۔')
def test_بلندی_بغیر(خود):
جگہ = {'عرض': خود.جگہ['عرض'], 'طول': خود.جگہ['طول']}
ذر = سی_اس_وی(مسل_سی_اس_وی, **جگہ, تبديل_ستون=تبدل, خاکے='۲.۶')
اعداد = مقام(**جگہ).کوائف_پانا(خود.سے, خود.تک, ذرائع=(ذر,))
خود.assertEqual(len(اعداد.لاپتہ()), 9)
2 changes: 1 addition & 1 deletion امتحان/test_ناسا.py
Expand Up @@ -13,7 +13,7 @@
جالبینی_رسائی = True
except (requests.exceptions.ConnectionError, KeyError, JSONDecodeError):
جالبینی_رسائی = False
وجہ = 'ناسا کا جالبین پنہ اب دستیاب نہیں۔'
وجہ = 'ناسا کا جالبین صفھہ اب دستیاب نہیں۔'


class امتحان_ناسا(unittest.TestCase):
Expand Down
4 changes: 3 additions & 1 deletion تقدیر/ذریعہ.py
Expand Up @@ -4,7 +4,7 @@
import numpy as np
import pandas as pd

from تقدیر.کام import تاریخ_بنانا
from تقدیر.کام import تاریخ_بنانا, بلندی_پانا
from تقدیر.متغیرات import متغیرات
from تقدیر.کوائف import کوائف

Expand Down Expand Up @@ -42,6 +42,8 @@ def کوائف_پانا(خود, سے, تک, عرض, طول, بلندی, خاکے
سے = تاریخ_بنانا(سے)
تک = تاریخ_بنانا(تک)

بلندی = بلندی if بلندی is not None else بلندی_پانا(عرض, طول)

if تک <= سے:
raise ValueError("آخری تاریخ پہلی تاریخ سے بڑا ہونے چاہئے")

Expand Down
3 changes: 2 additions & 1 deletion تقدیر/ذریعہ_نکتہ.py
@@ -1,4 +1,5 @@
from تقدیر import ذریعہ
from تقدیر.کام import بلندی_پانا


class ذریعہ_نکتہ(ذریعہ):
Expand All @@ -9,7 +10,7 @@ class ذریعہ_نکتہ(ذریعہ):
def __init__(خود, عرض, طول, بلندی, خاکے=None, تبدیل_عمودی_ستون=None):
خود.عرض = عرض
خود.طول = طول
خود.بلندی = بلندی
خود.بلندی = بلندی if بلندی is not None else بلندی_پانا(عرض, طول)
خود.خاکے = خاکے
خود.تبدیل_عمودی_ستون = تبدیل_عمودی_ستون or {}

Expand Down
5 changes: 3 additions & 2 deletions تقدیر/مقام.py
Expand Up @@ -2,6 +2,7 @@

from .ذرائع import مرکسم۵_جال, مرکسم۵, ناسا
from .ذریعہ import ذریعہ
from .کام import بلندی_پانا
from .کوائف import کوائف


Expand All @@ -10,8 +11,8 @@ class مقام(object):
ایک مقام، جس کے ليے آب وہوا کے کوائف درکار ہيں۔
"""

def __init__(خود, عرض, طول, بلندی):
خود.بلندی = بلندی
def __init__(خود, عرض, طول, بلندی=None):
خود.بلندی = بلندی if بلندی is not None else بلندی_پانا(عرض, طول)
خود.طول = طول
خود.عرض = عرض

Expand Down
12 changes: 12 additions & 0 deletions تقدیر/کام.py
Expand Up @@ -5,6 +5,7 @@
import tempfile

import pandas as pd
import requests

راستہ_اختیارے = os.path.join(os.path.split(__file__)[0], 'اختیارے.json')
try:
Expand Down Expand Up @@ -82,3 +83,14 @@ def تاریخ_بنانا(تاریخ):
if isinstance(تاریخ, datetime.date):
return تاریخ
return pd.to_datetime(تاریخ).date()


def بلندی_پانا(عرض, طول):
try:
جواب = requests.get(
'https://api.open-elevation.com/api/v1/lookup?locations={},{}'.format(عرض, طول),
timeout=30
).json()
return جواب['results'][0]['elevation']
except requests.exceptions.RequestException:
raise requests.exceptions.RequestException('بلندی ضرور ہیے، اور جالبین سے ملی نہیں۔')

0 comments on commit 337581d

Please sign in to comment.