Skip to content

bonjour_madame is a library allowing to fetch data from the RSS feed of the french erotic website Bonjour Madame.

License

Notifications You must be signed in to change notification settings

shalien/bonjour_madame

Repository files navigation

bonjour_madame

bonjour_madame is a library allowing to fetch data from the RSS feed of the french erotic website Bonjour Madame.

pipeline status coverage report Latest Release

Features

  • Simple dart wrapper around the Bonjour Madame rss feed
  • Using the http package allowing to use it capacity to interface with native and/or custom http clients

Getting started

Run

dart pub add bonjour_madame

or add

    bonjour_madame: ^1.0.0

to your pubspec.yaml and run

dart pub get

Usage

import 'dart:io';

import 'package:bonjour_madame/bonjour_madame.dart';
import 'package:http/http.dart';

/// This example fetch the last posted "madame"
void main() async {
  /// We're adding a custom User-Agent to the client
  final BonjourMadameClient bonjourMadameClient = BonjourMadameClient(
      defaultHeaders: {'User-Agent': 'BonjourMadameClient/1.0.0'});

  try {
    /// [mostRecent] is a custom shorthand in the library to get the first (last item add) to the feed
    final Post mostRecent = await bonjourMadameClient.posts.mostRecent;

    stdout.write('''
    __ Most recent "Bonjour Madame" Post __
    Title: ${mostRecent.title}
    Date: ${mostRecent.pubDate.toLocal()}
    Link: ${mostRecent.link}
    Image: ${mostRecent.image}
    ''');
  } on ClientException catch (cex) {
    stderr.writeln('Something went wrong : ${cex.message}');
    exit(-1);
  } on BonjourMadameException catch (bex) {
    stderr.writeln(
        'Server response is an error : ${bex.statusCode} ${bex.reasonPhrase}');
    exit(-1);
  }

  exit(0);
}

Known limitations

  • Only allow to access the current post into the rss feed, this is a design choice
  • Don't automatically cache fetched post
  • Doesn't allow from parsing a specific url to extract data (aka: scrapping)

Support This Project

Buy Me a Coffee Ko-fi Liberapay Open Collective Patreon PayPal

License

PROJETRETRO RESTRICTED LICENSE + AI (PRL + AI)

license@projetretro.io - 2024

This license cover both the use of the project itself and the use or any parts of the code and/or assets composing the project to which this license is attached in any fashion.

The product to which this license is granted is distributed "AS IS" and without any warranty of any kind, express or implied. The user and/or provider of the product to an end user assumes all risk of user, damage or injury. The user and/or provider of the product to an end user is solely responsible for determining the suitability of this product ofr it's intended use.

By using the product attached to this license, the user and/or provider of the product to an end user agrees to the terms of this license. If you do not agree to all the terms of this license, do not use the product.

This license is RESTRICTIVE, it's mean that any usage EXPRESSLY not authorized by said license is FORBIDDEN.

You must :

  • Provide a complete copy of this license with any distribution of the product
  • Not remove any copyright, trademark or patent notices from the product or any parts
  • Provide an updated version of the license with any modification of the product AS SOON AS POSSIBLE and CLEARLY NOTIFY the user of the modification

It's EXPRESSLY FORBIDDEN to :

  • Re-license the project or any parts under any others licenses
  • Use the project or any parts for any commercial (meaning generating revenue) purposes WITHOUT written authorization from the project owner
    • Open source projects donations are excluded from this restriction
  • Use the project or any parts of the code and/or assets composing the project to which this license is attached in any fashion to train, generate, feed or any kind of action related to LLM or any AI related technologies

Failing to comply to the license term in a deliberate way will result in the immediate termination of the license and a fee of 1% of the total revenue generated by the product using the project to which this license is attached in any fashion to the author(s) of the project and/or legal actions.

Additional information

Legal

"Bonjour Madame", the logo, the icon are properties of https://bonjourmadame.fr team. They're only use here for illustration purposes. This project, it's code or/and any aspect is affiliated nor endorsed by said team.