Files
TPSchedule/mobile/lib/data/schedule_file_import.dart

26 lines
865 B
Dart

import 'json_schedule_import.dart';
import '../domain/course.dart';
import '../features/school/school_page_adapter.dart';
import '../features/school/undergraduate/timetable_adapter.dart';
class ScheduleFileImport {
static ImportDraft parse(String content) {
final trimmed = content.replaceFirst('\uFEFF', '').trimLeft();
if (trimmed.startsWith('<')) {
if (trimmed.contains('manualArrangeCourseTable')) {
return UndergraduateTimetableAdapter.extract(
trimmed,
Uri.parse('https://eams.uestc.edu.cn/eams/courseTableForStd.action'),
source: CourseSource.file,
);
}
return SchoolPageAdapter().extract(
trimmed,
Uri.parse('https://yjsjy.uestc.edu.cn/pyxx/pygl/xskbcx/index/1'),
source: CourseSource.file,
);
}
return JsonScheduleImport.parse(trimmed);
}
}