diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 33f83ac..8124053 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -25,6 +25,23 @@ jobs: - name: Checkout code uses: actions/checkout@v3.6.0 + - name: Setup Python + uses: actions/setup-python@v4.7.0 + with: + python-version: "3.11" + + - name: Install Packages + working-directory: ./scripts + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Compile Menu + working-directory: ./scripts + run: python scrapeToJson.py + + - name: Copy Data File + run: cp ./scripts/data.dart ./lib/data.dart # - name: Cache Flutter dependencies # uses: actions/cache@v1 # with: diff --git a/lib/constants.dart b/lib/constants.dart index 99f04f1..7c3e8a1 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -14,3 +14,9 @@ const String storageKey = "FullMenu"; const Center noMenuWidget = Center( child: Text("Menu not available for this session", style: TextStyle(fontSize: 20, fontStyle: FontStyle.italic))); + +const String hashLink = + "http://github.com/kphanipavan/IIITB_Menu/releases/download/latest/out.txt"; + +const String dataLink = + "http://github.com/kphanipavan/IIITB_Menu/releases/download/latest/out.json"; diff --git a/lib/data.dart b/lib/data.dart new file mode 100644 index 0000000..2b81426 --- /dev/null +++ b/lib/data.dart @@ -0,0 +1 @@ +String data = r'{"menu": {"0": {"bf": {"BREAKFAST 1": {"name": "Aloo Gobi Paratha", "eggy": "VEG"}, "BREAKFAST 2": {"name": "Mt", "eggy": "VEG"}, "SAMBAR OR KETCHUP": {"name": "Mt", "eggy": "VEG"}, "CURD": {"name": "Curd", "eggy": "VEG"}, "CHUTNEY": {"name": "Mint Chutney", "eggy": "VEG"}, "EGG": {"name": "Mt", "eggy": "VEG"}, "JUICE/MILK SHAKE": {"name": "Pineapple Juice", "eggy": "VEG"}}, "ln": {"INDIAN BREAD": {"name": "Bhature", "eggy": "VEG"}, "VEG GRAVY": {"name": "Pindi Chole", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Hara Bhara Kebab", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Veg Pulao", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Dal Panchmel", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Garlic Rasam", "eggy": "VEG"}, "CURD BASE": {"name": "Sweet Lassi", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Onion\\Chilli\\Lemon", "eggy": "VEG"}, "SWEETS": {"name": "Gulabjamun", "eggy": "VEG"}}, "sk": {"SNACKS": {"name": "Samosa", "eggy": "VEG"}, "ACCOMPANIMENTS": {"name": "Mt", "eggy": "VEG"}, "TEA/COFFEE/MILK": {"name": "Tea/Coffee/Milk", "eggy": "VEG"}}, "dn": {"INDIAN BREAD": {"name": "Methi Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Mt", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Kadai Veg", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Mexican Rice", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Green Moong Dal", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Tamarind Sambhar", "eggy": "VEG"}, "CURD BASE": {"name": "Plain Buttermilk", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Green Salad", "eggy": "VEG"}, "SWEETS": {"name": "Moti Malai", "eggy": "VEG"}, "PANEER": {"name": "Paneer Kurchan", "eggy": "VEG"}, "CHICKEN": {"name": "Chicken Kurchan", "eggy": "NON"}}}, "1": {"bf": {"BREAKFAST 1": {"name": "Onion Tomato Uttapam", "eggy": "VEG"}, "BREAKFAST 2": {"name": "Mt", "eggy": "VEG"}, "SAMBAR OR KETCHUP": {"name": "Sambar", "eggy": "VEG"}, "CURD": {"name": "Mt", "eggy": "VEG"}, "CHUTNEY": {"name": "Coconut Chutney", "eggy": "VEG"}, "EGG": {"name": "Boiled Egg", "eggy": "EGG"}, "JUICE/MILK SHAKE": {"name": "Mt", "eggy": "VEG"}}, "ln": {"INDIAN BREAD": {"name": "Dal Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Kadai Vegetable", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Cabbage Poriyal", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Curd Rice", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Dal Tadka", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Pepper Rasam", "eggy": "VEG"}, "CURD BASE": {"name": "Lemonade", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Green Salad", "eggy": "VEG"}, "SWEETS": {"name": "Rasgulla", "eggy": "VEG"}}, "sk": {"SNACKS": {"name": "Pani Puri", "eggy": "VEG"}, "ACCOMPANIMENTS": {"name": "Mt", "eggy": "VEG"}, "TEA/COFFEE/MILK": {"name": "Tea/Coffee/Milk", "eggy": "VEG"}}, "dn": {"INDIAN BREAD": {"name": "Methi Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Mix Veg Curry", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Aloo Jeera", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Veg Shezwaan Noodles", "eggy": "VEG"}, "PLAIN RICE": {"name": "Rice", "eggy": "VEG"}, "DAL": {"name": "Yellow Dal Tadka", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Tamarind Sambar", "eggy": "VEG"}, "CURD BASE": {"name": "Curd", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Green Salad", "eggy": "VEG"}, "SWEETS": {"name": "Badushah", "eggy": "VEG"}, "PANEER": {"name": "Mt", "eggy": "VEG"}, "CHICKEN": {"name": "Mt", "eggy": "VEG"}}}, "2": {"bf": {"BREAKFAST 1": {"name": "Aloo Onion Paratha", "eggy": "VEG"}, "BREAKFAST 2": {"name": "Cut Fruits", "eggy": "VEG"}, "SAMBAR OR KETCHUP": {"name": "Mt", "eggy": "VEG"}, "CURD": {"name": "Curd", "eggy": "VEG"}, "CHUTNEY": {"name": "Peanut Garlic Chutney", "eggy": "VEG"}, "EGG": {"name": "Mt", "eggy": "VEG"}, "JUICE/MILK SHAKE": {"name": "Mt", "eggy": "VEG"}}, "ln": {"INDIAN BREAD": {"name": "Methi Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Mix Veg Gravy", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Gobi Mutter", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Jeera Rice", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Arhar Daal", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Vegetable Sambhar", "eggy": "VEG"}, "CURD BASE": {"name": "Curd", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Sprouts Salad", "eggy": "VEG"}, "SWEETS": {"name": "Dry Fruit Barfi", "eggy": "VEG"}}, "sk": {"SNACKS": {"name": "Dal Pakwan", "eggy": "VEG"}, "ACCOMPANIMENTS": {"name": "Mt", "eggy": "VEG"}, "TEA/COFFEE/MILK": {"name": "Tea/Coffee/Milk", "eggy": "VEG"}}, "dn": {"INDIAN BREAD": {"name": "Ajwain Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Methi Mutter Malai", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Aalo Gobi 65", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Achari Dum Biryani", "eggy": "VEG"}, "PLAIN RICE": {"name": "Rice", "eggy": "VEG"}, "DAL": {"name": "Rajma Masala", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Onion Sambar", "eggy": "VEG"}, "CURD BASE": {"name": "Boondi Raita", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Pasta Salad", "eggy": "VEG"}, "SWEETS": {"name": "Jalebi+Rabri", "eggy": "VEG"}, "PANEER": {"name": "Mt", "eggy": "VEG"}, "CHICKEN": {"name": "Mt", "eggy": "VEG"}}}, "3": {"bf": {"BREAKFAST 1": {"name": "Idli", "eggy": "VEG"}, "BREAKFAST 2": {"name": "Uddin Vada", "eggy": "VEG"}, "SAMBAR OR KETCHUP": {"name": "Veg Sambar", "eggy": "VEG"}, "CURD": {"name": "Mt", "eggy": "VEG"}, "CHUTNEY": {"name": "Coconut Chutney", "eggy": "VEG"}, "EGG": {"name": "Boiled Egg", "eggy": "EGG"}, "JUICE/MILK SHAKE": {"name": "Mt", "eggy": "VEG"}}, "ln": {"INDIAN BREAD": {"name": "Beetroot Poori", "eggy": "VEG"}, "VEG GRAVY": {"name": "Aloo Bhajji", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Carrot Beans Poriyal", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Bisibilla Bhat", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Yellow Urad Daal", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Coriander Jeera Rasam", "eggy": "VEG"}, "CURD BASE": {"name": "Curd", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Chickpea Salad", "eggy": "VEG"}, "SWEETS": {"name": "Ice Cream", "eggy": "VEG"}}, "sk": {"SNACKS": {"name": "Mix Bhajiya", "eggy": "VEG"}, "ACCOMPANIMENTS": {"name": "Ketchup", "eggy": "VEG"}, "TEA/COFFEE/MILK": {"name": "Tea/Coffee/Milk", "eggy": "VEG"}}, "dn": {"INDIAN BREAD": {"name": "Tawa Paratha", "eggy": "VEG"}, "VEG GRAVY": {"name": "Mt", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Honey Chilli Potato", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Jeera Mutter Pulao", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Dal Makhani", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Drumstick Sambar", "eggy": "VEG"}, "CURD BASE": {"name": "Mix Veg Raita", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Sprouts Salad", "eggy": "VEG"}, "SWEETS": {"name": "Rasmalai", "eggy": "VEG"}, "PANEER": {"name": "Panner Butter Masala", "eggy": "VEG"}, "CHICKEN": {"name": "Chicken Butter Masala", "eggy": "NON"}}}, "4": {"bf": {"BREAKFAST 1": {"name": "Vermicilli Upma", "eggy": "VEG"}, "BREAKFAST 2": {"name": "Dhokla", "eggy": "VEG"}, "SAMBAR OR KETCHUP": {"name": "Mt", "eggy": "VEG"}, "CURD": {"name": "Mt", "eggy": "VEG"}, "CHUTNEY": {"name": "Coconut Chutney", "eggy": "VEG"}, "EGG": {"name": "Mt", "eggy": "VEG"}, "JUICE/MILK SHAKE": {"name": "Mt", "eggy": "VEG"}}, "ln": {"INDIAN BREAD": {"name": "Pudina Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Aloo Drumstick Curry", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Bhindi Do Pyaza", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Hyderabadi Dum Biryani", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Hara Moong Daal", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Pumpkin Sambar", "eggy": "VEG"}, "CURD BASE": {"name": "Burani Raita", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Green Salad", "eggy": "VEG"}, "SWEETS": {"name": "Assoreted Pastry", "eggy": "VEG"}}, "sk": {"SNACKS": {"name": "Pav Bhaji", "eggy": "VEG"}, "ACCOMPANIMENTS": {"name": "Lemon+Onion", "eggy": "VEG"}, "TEA/COFFEE/MILK": {"name": "Tea/Coffee/Milk", "eggy": "VEG"}}, "dn": {"INDIAN BREAD": {"name": "Ajwain Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Aloo Gobi Mutter", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Veg Manchurian", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Veg Pulao", "eggy": "VEG"}, "PLAIN RICE": {"name": "Rice", "eggy": "VEG"}, "DAL": {"name": "Live Dal Tadka", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Methi Leaves Sambar", "eggy": "VEG"}, "CURD BASE": {"name": "Curd", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Punjabi Salad", "eggy": "VEG"}, "SWEETS": {"name": "Marble Cake", "eggy": "VEG"}, "PANEER": {"name": "Mt", "eggy": "VEG"}, "CHICKEN": {"name": "Mt", "eggy": "VEG"}}}, "5": {"bf": {"BREAKFAST 1": {"name": "Pesarattu", "eggy": "VEG"}, "BREAKFAST 2": {"name": "Rawa Upma", "eggy": "VEG"}, "SAMBAR OR KETCHUP": {"name": "Mt", "eggy": "VEG"}, "CURD": {"name": "Mt", "eggy": "VEG"}, "CHUTNEY": {"name": "Green Chutney", "eggy": "VEG"}, "EGG": {"name": "Omlette", "eggy": "EGG"}, "JUICE/MILK SHAKE": {"name": "Mt", "eggy": "VEG"}}, "ln": {"INDIAN BREAD": {"name": "Ajwain Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Veg Jalfrezi", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Chow Chow Poriyal", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Green Peas Pulao", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Dal Tadka", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Rasam", "eggy": "VEG"}, "CURD BASE": {"name": "Curd", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Green Salad", "eggy": "VEG"}, "SWEETS": {"name": "Ras Malai", "eggy": "VEG"}}, "sk": {"SNACKS": {"name": "Misal Pav", "eggy": "VEG"}, "ACCOMPANIMENTS": {"name": "Mt", "eggy": "VEG"}, "TEA/COFFEE/MILK": {"name": "Tea/Coffee/Milk", "eggy": "VEG"}}, "dn": {"INDIAN BREAD": {"name": "Tawa Paratha", "eggy": "VEG"}, "VEG GRAVY": {"name": "Achari Subzi", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Tawa Vegetables", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Mt", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Masoor Daal", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Vendakkai Sambar", "eggy": "VEG"}, "CURD BASE": {"name": "Mix Veg Raita", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Green Salad", "eggy": "VEG"}, "SWEETS": {"name": "Rasgulla", "eggy": "VEG"}, "PANEER": {"name": "Kadhai Paneer\\Veg Biryani", "eggy": "VEG"}, "CHICKEN": {"name": "Chicken Biryani", "eggy": "NON"}}}, "6": {"bf": {"BREAKFAST 1": {"name": "Podi Masala Dosa", "eggy": "VEG"}, "BREAKFAST 2": {"name": "Poha", "eggy": "VEG"}, "SAMBAR OR KETCHUP": {"name": "Veg Sambar", "eggy": "VEG"}, "CURD": {"name": "Mt", "eggy": "VEG"}, "CHUTNEY": {"name": "Coconut Chutney", "eggy": "VEG"}, "EGG": {"name": "Mt", "eggy": "VEG"}, "JUICE/MILK SHAKE": {"name": "Mt", "eggy": "VEG"}}, "ln": {"INDIAN BREAD": {"name": "Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Bhindi Aloo", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Egg Curry/Soyabean Curry", "eggy": "EGG"}, "FLAVORED RICE": {"name": "Pongal", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Toor Daal", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Carrot Sambhar", "eggy": "VEG"}, "CURD BASE": {"name": "Curd", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Veg Corn Salad", "eggy": "VEG"}, "SWEETS": {"name": "Icecream", "eggy": "VEG"}}, "sk": {"SNACKS": {"name": "Kachori", "eggy": "VEG"}, "ACCOMPANIMENTS": {"name": "Imly Chutney", "eggy": "VEG"}, "TEA/COFFEE/MILK": {"name": "Tea/Coffee/Milk", "eggy": "VEG"}}, "dn": {"INDIAN BREAD": {"name": "Ajwain Chapati", "eggy": "VEG"}, "VEG GRAVY": {"name": "Corn Masala", "eggy": "VEG"}, "VEG DRY/ STARTERS": {"name": "Pudina Aalo Tikki", "eggy": "VEG"}, "FLAVORED RICE": {"name": "Fried Rice", "eggy": "VEG"}, "PLAIN RICE": {"name": "Plain Rice", "eggy": "VEG"}, "DAL": {"name": "Lobia Masala", "eggy": "VEG"}, "SAMBAR OR RASAM": {"name": "Veg Rasam", "eggy": "VEG"}, "CURD BASE": {"name": "Boondi Raita", "eggy": "VEG"}, "SALAD/SPROUTS": {"name": "Russian Salad", "eggy": "VEG"}, "SWEETS": {"name": "Shrikhand", "eggy": "VEG"}, "PANEER": {"name": "Mt", "eggy": "VEG"}, "CHICKEN": {"name": "Mt", "eggy": "VEG"}}}}, "dates": {"03-09-2023": "0", "10-09-2023": "0", "28-08-2023": "1", "04-09-2023": "1", "29-08-2023": "2", "05-09-2023": "2", "30-08-2023": "3", "06-09-2023": "3", "31-08-2023": "4", "07-09-2023": "4", "01-09-2023": "5", "08-09-2023": "5", "02-09-2023": "6", "09-09-2023": "6"}, "items": {"bf": ["BREAKFAST 1", "BREAKFAST 2", "SAMBAR OR KETCHUP", "CURD", "CHUTNEY", "EGG", "JUICE/MILK SHAKE"], "ln": ["INDIAN BREAD", "VEG GRAVY", "VEG DRY/ STARTERS", "FLAVORED RICE", "PLAIN RICE", "DAL", "SAMBAR OR RASAM", "CURD BASE", "SALAD/SPROUTS", "SWEETS"], "sk": ["SNACKS", "ACCOMPANIMENTS", "TEA/COFFEE/MILK"], "dn": ["INDIAN BREAD", "VEG GRAVY", "VEG DRY/ STARTERS", "FLAVORED RICE", "PLAIN RICE", "DAL", "SAMBAR OR RASAM", "CURD BASE", "SALAD/SPROUTS", "SWEETS", "PANEER", "CHICKEN"]}}'; \ No newline at end of file diff --git a/lib/models/globalModel.dart b/lib/models/globalModel.dart index 65726b8..18c8c2c 100644 --- a/lib/models/globalModel.dart +++ b/lib/models/globalModel.dart @@ -1,15 +1,17 @@ // ignore_for_file: unnecessary_this, file_names import "dart:convert"; -import "dart:io"; +// import "dart:io"; import "package:iiitb_menu/constants.dart"; // import "package:path_provider/path_provider.dart"; // import 'dart:io'; import "package:flutter/material.dart"; -import "package:crypto/crypto.dart"; -import "package:http/http.dart"; +// import "package:crypto/crypto.dart"; +// import "package:http/http.dart"; import "package:intl/intl.dart"; -import "package:shared_preferences/shared_preferences.dart"; +// import "package:shared_preferences/shared_preferences.dart"; +// import "package:dio/dio.dart"; +import "package:iiitb_menu/data.dart" as menuData; class GlobalModel extends ChangeNotifier { late Map mainData; @@ -29,76 +31,88 @@ class GlobalModel extends ChangeNotifier { }); } - static Future getLatestHash() async { - const String hashLink = "https://github.com/kphanipavan/IIITB_Menu/releases/download/latest/out.txt"; - try { - Response ret = await get(Uri.parse(hashLink)); - if (ret.statusCode == 200) { - return ret.body.replaceAll("\n", ""); - } else { - return ""; - } - } on SocketException catch (exce) { - print("Unable to download hash"); - print(exce); - return ""; - } - } +// static Future getLatestHash() async { +// try { +// // Request hashRequest = Request("get", Uri.parse(hashLink)); +// Response ret = await Dio().request(hashLink, +// options: Options(method: 'GET', headers: { +// HttpHeaders.acceptHeader: "text/plain", +// "Access-Control-Allow-Origin": "*", +// "Access-Control-Allow-Methods": "GET", +// "Access-Control-Allow-Headers": "*", +// "Access-Control-Max-Age": "1000" +// })); +// if (ret.statusCode == 200) { +// return ret.data.replaceAll("\n", ""); +// } else { +// return ""; +// } +// } on SocketException catch (exce) { +// print("Unable to download hash"); +// print(exce); +// return ""; +// } +// } - static Future getLatestData() async { - const String dataLink = "https://github.com/kphanipavan/IIITB_Menu/releases/download/latest/out.json"; - try { - Response ret = await get(Uri.parse(dataLink)); - return ret.body; - } on SocketException catch (exce) { - print("Unable to download any data"); - print(exce); - return ""; - } - } + // static Future getLatestData() async { + // try { + // Response ret = await Dio().request(dataLink, + // options: Options(method: "GET", headers: { + // HttpHeaders.acceptHeader: "text/plain", + // "Access-Control-Allow-Origin": "*" + // })); + // return ret.data; + // } on SocketException catch (exce) { + // print("Unable to download any data"); + // print(exce); + // return ""; + // } + // } static Future loadData() async { late Map returnData; // Directory appDir = await getApplicationDocumentsDirectory(); - final SharedPreferences prefs = await SharedPreferences.getInstance(); - String? rawData; - String rawHash; + // final SharedPreferences prefs = await SharedPreferences.getInstance(); + // String? rawData; + // String rawHash; // String fileName = "${appDir.path}/menu.json"; // print(fileName); // File fileLink = File(fileName); - rawData = prefs.getString(storageKey); - print(rawData); - if (rawData != null) { - print("data found"); - // rawData = localStor.getItem("fullMenu"); - rawHash = md5.convert(utf8.encode(rawData)).toString(); - print("Hash of Raw Data:"); - print(rawHash); - // print("RawData: "); - // print(rawData); - returnData = jsonDecode(rawData); - // menuAvailable = true; - } else { - print("File Not Found"); - returnData = {}; - rawHash = ""; - } - String remoteHash = await GlobalModel.getLatestHash(); - if (remoteHash == "") { - } else if (remoteHash == rawHash) { - // print("Remote hash $remoteHash is same as local hash $rawHash"); - } else { - // print("Remote hash $remoteHash is NOT the same as local hash $rawHash"); - // print("Getting data from remote"); - rawData = await getLatestData(); - if (rawData == "") { - return {}; - } - returnData = jsonDecode(rawData); - // fileLink.writeAsStringSync(rawData, mode: FileMode.write); - prefs.setString(storageKey, rawData); - } - + // rawData = prefs.getString("asdasdasd"); + // print(rawData); + // if (rawData != null) { + // print("data found"); + // // rawData = localStor.getItem("fullMenu"); + // rawHash = md5.convert(utf8.encode(rawData)).toString(); + // print("Hash of Raw Data:"); + // print(rawHash); + // // print("RawData: "); + // // print(rawData); + // returnData = jsonDecode(rawData); + // // menuAvailable = true; + // } else { + // print("Data Not Found"); + // returnData = {}; + // rawHash = ""; + // } + // // String remoteHash = await GlobalModel.getLatestHash(); + // String remoteHash = "asd"; + // print("Remote Hash: $remoteHash"); + // if (remoteHash == "") { + // } else if (remoteHash == rawHash) { + // print("Remote hash $remoteHash is same as local hash $rawHash"); + // } else { + // print("Remote hash $remoteHash is NOT the same as local hash $rawHash"); + // print("Getting data from remote"); + // rawData = await getLatestData(); + // if (rawData == "") { + // return {}; + // } + // returnData = jsonDecode(rawData); + // // fileLink.writeAsStringSync(rawData, mode: FileMode.write); + // prefs.setString(storageKey, rawData); + // } + returnData = jsonDecode(menuData.data); return returnData; } diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index b8e2b22..e777c67 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,9 +6,7 @@ import FlutterMacOS import Foundation import path_provider_foundation -import shared_preferences_foundation func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) - SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) } diff --git a/pubspec.yaml b/pubspec.yaml index 9ccdae0..b59bcee 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -36,12 +36,13 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 provider: ^6.0.5 - crypto: ^3.0.3 + # crypto: ^3.0.3 intl: ^0.18.1 - http: ^1.1.0 + # http: ^1.1.0 + # dio: ^5.3.2 path_provider: # localstorage: ^4.0.1+4 - shared_preferences: ^2.2.0 + # shared_preferences: ^2.2.0 # sembast: dev_dependencies: diff --git a/scripts/scrapeToJson.py b/scripts/scrapeToJson.py index c7e96bd..0ad47cf 100644 --- a/scripts/scrapeToJson.py +++ b/scripts/scrapeToJson.py @@ -71,7 +71,8 @@ if __name__ == "__main__": # print() finalData["menu"][dayNumber] = currentMenu # print(finalData) - with open("out.json", "w+") as jsonWriter: - json.dump(finalData, jsonWriter) - with open("out.txt", "w+") as hashWriter: - hashWriter.write(hashlib.md5(json.dumps(finalData).encode("utf-8")).hexdigest()) + with open("data.dart", "w+") as dataWriter: + allData = "String data = r'" + json.dumps(finalData) + "';" + dataWriter.write(allData) + # with open("out.txt", "w+") as hashWriter: + # hashWriter.write(hashlib.md5(json.dumps(finalData).encode("utf-8")).hexdigest())