viper3400 / moviesearchengine Goto Github PK
View Code? Open in Web Editor NEWLibrary for collecting movie information from web databases
License: MIT License
Library for collecting movie information from web databases
License: MIT License
OfdbDetailsPlotResolver
var searchResults = request.GetXPathValues("/html//p[@class=\"Blocksatz\"]/font/b[contains(text(),\"Eine Inhaltsangabe\")]/following-sibling::text()[last()]");
XPath has a problem with the nested tag which should emphasize a word in html page, but breaks the logic of the parser
The OFDB parser tries to get all links from the movie page, The one containing the word plot will lead to the complete plot page.
This looks normally like this:
<a href="plot/208113,453921,Thor"><b>[mehr]</b></a>
Eventually I've got a link which contains "plot" in but was not plot:
<a href="http://www.moviepilot.de/movies/plotzlich-papa" target="_blank">moviepilot.de - Plötzlich Papa</a>
This ends with a call to an empty URI and an UriFormatException
The result for the cover img url still returns the http protocol. Should be https.
TheMovieDbGenres.json is not copied to destination solution
In TheMovieDb API there is no logging at all. Ofdb has a bit old fashioned static logging. Logging could replaced with Microsoft.Logging and could be injected per DI.
At least, there is no error model at all. So the caller of the API doesn't know, why there is no result, just that there is no result.
SearchMovieByTitle
shall be enhanced with the following fields:
MetaEngine
Rating
Reference
OriginalTitle
SearchMovieById
shall be enhanced with the following fields:
SearchMovieByTitle
+Runtime
ProductionCountry
When searching just by title, the result does not contain all necessary information. To get i.e. the production countries it will be necessary to append another call with the id.
(In a way, this is valid for both of the engines, Ofdb and TheMovieDb. When using Ofdb some informations are just available after query the edition. Edition concept is unknown in TheMovieDb. So filling the generic interface model is not easy).
Further the call for movie search by title in TheMovieDbApi returns a paged result, while just the first 20 results where presented on the first page.
Saying all that,
Search should return a barcode, at least, when effectively searching for one.
Now, the build runs just on new commits and tests are disabled. Build & test shall run periodically to ensure that APIs are not broken (maybe once a week).
There is a dependcy to libjfunxx.dll. I think this is just because of some logging functions. I shoul get rid of this.
Solution contains projects targeting .NET framework version 4.5. They shall target 4.8
Check, if we should switch the ci integration from appveyor to GitHub actions
Language is set to 'de-DE' and not configurable.
Language should be configurable.
https://developers.themoviedb.org/3/getting-started/languages
There are breaking new version of AutoMapper an HTML Agility Pack which needs to be implemented for maintenance reasons
Base url to OFDB is hardcoded in different places. This can be centralized and at least the baseUrl shall be configurable.
Because OFDB changed Url to SSL (https://ssl.ofdb.de) some functions are broken.
When using SearchMovieByEngineId it's assumed that there are two possible formats:
While the first one ist just the movie id, the second contains the edition, separated with the semicolon.
The case, that the value after the semicolon is null or unvalid is not covered. As well, the case, that the edition number doesn't exist any longer at ofdb or is not resolvable for other reasons is not covered.
In this cases the result should contain at least the informations form movie page - though the edition details will be missing.
There are entries without production year which will cause and uncaught exception. Result will be empty. As the year
in the output model is a string, the engine shall return an empty string as year
.
Because field plot is not initialized as "text" Entity Framework seems to cut it after 256 chars.
The url for ofdb.de
changed from ssl.ofdb.de
back to ofdb.de
. This breaks the whole OFDB integration.
If nothing is found an generic exception is thrown. User don't really know what was the problem. This would need some more refining.
There is an exception when search for a movie, i.e. with id 461049 because it has no runtime.
https://www.themoviedb.org/documentation/api
GenreListe (german)
Abenteuer
Action
Animation
Dokumentarfilm
Drama
Familie
Fantasy
Historie
Horror
Komödie
Kriegsfilm
Krimi
Liebesfilm
Musik
Mystery
Science-Fiction
Thriller
TV-Film
Western
Year is still missing in result
I should think about creating a NuGet Package.
PLEASE USE THE TMDB INTERFACE OF THIS LIB!
Due to a redesign of OFDB it's not longer working with this library!
Me for myself, I meanwhile just use TMDB.
I always knew, the OFDB support was very brittle.
I decided to retire the OFDB support.
For now, I just disabled the unit tests.
Depending on some personal projects I'm currently thinking about removing the code
with a next major version.
Thanks for understanding.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.